已解决:查看答复中的解决方案
我有一个bash脚本,如下所示:
#!/bin/bash
python3 /Users/me/path/to/my/file.py
python3 /Users/me/path/to/my/file2.py
Rscript /Users/me/path/to/my/rfile.R
python3 /Users/me/path/to/my/file.py
当我从终端使用命令执行它
bash /Users/me/path/to/my/shellscript.sh
它执行得很好。但是,我希望能够从Keyboard Maestro或AppleScript运行它。在AppleScript中,当我运行时
do shell script "bash /Users/me/path/to/my/shellscript.sh"
我收到以下错误消息:
error "/Users/me/path/to/my/shellscript.sh: line 2: python3: command not found
/Users/me/path/to/my/shellscript.sh: line 3: python3: command not found
/Users/me/path/to/my/shellscript.sh: line 4: Rscript: command not found
/Users/me/path/to/my/shellscript.sh: line 5: python3: command not found" number 127
如果在Keyboard Maestro中运行等效命令,则会收到相同的错误消息。我曾尝试将python3
更改为python
,但是无论如何还是失败了,因为它在Python 2中运行文件(尽管Python文件指定了Python 3,但使用Rscript
命令会当然仍然会引发错误。
导致Shell脚本在Keyboard Maestro和AppleScript中失败但在Terminal中失败的环境之间有什么区别?
答案 0 :(得分:0)
通过将命令更改为PATH=$PATH:/usr/local/bin; bash /Users/me/path/to/my/shellscript.sh
使它起作用。