在MacOS中,我从以下链接安装了
Node.js
:http://nodejs.org/download/(http://nodejs.org/dist/v0.10.29/node-v0.10.29.pkg) ).
我在 AppleScript 中使用以下代码:
do shell script "supervisor \"/Applications/xyz.js\""
但是出现以下错误:
错误“sh:主管:找不到命令”编号 127
通过终端运行时效果很好:
主管/Applications/xyz.js
听起来你的路径环境变量设置不同,因此在 Applescript 中它无法找到该应用程序。
例如在 applescript 中......
do shell script "echo $PATH"
退货
"/usr/bin:/bin:/usr/sbin:/sbin"
但是在航站楼...
$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
所以我只需在 applescript 中添加可执行文件的完整路径,这应该可以解决问题...
do shell script "/path/to/app/supervisor ...."
这是官方解释...
问题是您告诉的应用程序决定了 shell 脚本的环境 - 工作目录、环境变量等。大多数应用程序具有相同的环境,但依赖于此存在维护风险。如果您的 AppleScript 在 osascript 中运行,则工作环境来自运行 osascript 的 shell,它与任何其他应用程序完全分开。
您可以在这里阅读更多相关信息
https://developer.apple.com/library/mac/technotes/tn2065/_index.html