在以下脚本中(另存为script.sh
):
#!/bin/sh
cd $MY_PYTHON_WORKING_DIRECTORY
python script1.py
python script2.py
然后,当我尝试在我的bash shell中运行命令script.sh
时,我收到错误bash: script.sh: command not found
。为什么这不能按预期工作?如果任何脚本的第一行以#!
前缀开头,那么该行上的以下路径将被解释为命令,对吧?为了您的信息,即使我将第一行更改为#!/bin/bash
,仍会出现相同的错误。如果我将脚本作为sh script.sh
或bash script.sh
运行,则脚本会按预期运行。
是否可以通过点击script.sh
来运行脚本?
我应该使用sh
和bash
之间的另一个问题?我在OS X 10.8上,我的默认shell目前设置为bash
,但我想知道将来使用哪一个。
感谢。
答案 0 :(得分:3)
首先,使脚本可执行:
chmod u+x script.sh
其次,您当前的目录不在$ PATH中。因此,您必须使用路径运行脚本(相对足够):
./script.sh