Linux自定义可执行文件全局可用

Linux自定义可执行文件全局可用,linux,ubuntu,Linux,Ubuntu,我以zip格式下载了Google应用程序引擎,并将其解压缩到/usr/local/Google\u引擎 现在我需要一直从该文件夹运行python脚本。无论我的路径在哪里,我如何使其可用?ie:当我在/usr/something/中时,我可以通过调用script.py来执行脚本 我可以在不使用别名或bash脚本的情况下执行此操作吗?编辑.bashrc以在PATH环境变量上添加所需的目录 export PATH=/usr/local/google_app_engine/bin:$PATH 然后,启

我以zip格式下载了Google应用程序引擎,并将其解压缩到/usr/local/Google\u引擎

现在我需要一直从该文件夹运行python脚本。无论我的路径在哪里,我如何使其可用?ie:当我在/usr/something/中时,我可以通过调用script.py来执行脚本


我可以在不使用别名或bash脚本的情况下执行此操作吗?

编辑.bashrc以在PATH环境变量上添加所需的目录

export PATH=/usr/local/google_app_engine/bin:$PATH
然后,启动新终端或执行以下操作:

source ~/.bashrc
现在尝试从任何地方运行脚本

另一种不用触摸.bashrc就可以实现的方法是通过执行以下操作来创建符号链接:

sudo ln -s /usr/local/google_app_engine/bin/script.py /usr/bin/script.py 

有两种方法可以做到这一点。如上所述,您可以通过添加

export PATH=/usr/local/google_app_engine/bin:$PATH1 
给你的.bashrc。或者,如果命令只是一个脚本,则可以将其移动或复制到
/usr/bin
。这将使它可以作为命令从任何地方访问


如果要创建一个命令来执行此操作而不移动
script.py
,则可以创建一个bash文件,用固定路径调用它,然后将其放入
/usr/bin

设置
路径
?像导出路径=$PATH:/usr/local/google\u engine不应该是
ln-s/usr/local/google\u app\u engine/bin/script.py/usr/bin/script.py
?与大多数命令一样,带有
ln
的目标是最后一个参数。如果您认为它与
cp
一样工作,那么很容易记住。为什么我不能将二进制文件复制到
/usr/bin/
sudo ln-s/usr/local/google\u app\u engine/bin/script.py/usr/bin/script
中呢!