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