linux怎么在任何路径都能运行脚本

linux怎么在任何路径都能运行脚本,第1张

脚本所在的路径放到PATH里面。

通常PATH在两个地方有定义:

1)在 $HOME/.profile 里面

2)在 /etc/profile 里面

假设脚本存在于 /a/b/c/my_program.sh,那么更改 PATH 如下:

export PATH=$PATH:/a/b/c

测试更改的结果:

1)logoff 后再 login

2)echo $PATH

检查 /a/b/c 有没有在 PATH 中

3)type my_program.sh

看看 shell 找不找得到你要的脚本(例如:my_program.sh)

我在运行RH-Linux和python2.6.6的服务器上运行python脚本有一个问题。当我运行任何脚本并产生异常时,该脚本将挂起,直到我按下CTRL-C,然后它打印回溯信息。当我从命令行运行脚本而不直接调用python时,就会发生这种情况,使用脚本第一行的shebang。如果我通过调用python来执行脚本,就不会出现相同的挂起问题。我搜索过并看到过类似的问题,但它们都与特定的库有关,所有python脚本都会出现这种情况。我尝试过使用相同脚本的不同服务器,但没有出现问题。我已经包括了一个简单的脚本,我一直在测试。它试图打开一个不存在的文件。在

#!/usr/bin/env python

tempfile = open('noexists.txt','r')

当我将代码执行为“测试.py“在命令行上,我得到以下响应:

^{pr2}$

如果我把它作为“python”执行测试.py“然后我得到如下回应:

~/bin$>python test.py

Traceback (most recent call last):

File "test.py", line 2, in <module>

tempfile = open('noexists.txt','r')

IOError: [Errno 2] No such file or directory: 'noexists.txt'

这里很难区分,但在执行时非常明显。查看第一个示例输出,注意在回溯之前有“^C”。在我按下CTRL-C之前,脚本一直挂着。第二个示例输出立即返回异常的回溯而不挂起。在

我试着把剧本移到一个新的地方,把shebang从#改为#!/usr/bin/python到#!/usr/bin/env python和不同的脚本。在任何情况下,他们的行为都是一样的。任何帮助都将不胜感激。我不想使用“python”格式调用所有python脚本。在


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8582170.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存