我有一个简单的Gruntfile,希望能够从我的OSX dock图标运行。
我创建了一个非常简单的shell脚本(launcher.sh),我将其保存为应用程序,以便将其添加到我的dock中。当我直接在终端中运行它时效果很好:
#!/usr/bin/env bash
$(grunt serve --open)
这个脚本也可以使用以下的shebang:#!/bin/bash
但是,当我从Automator工作流中调用shell脚本时,会出现以下错误:
launcher.sh: line 2: grunt: command not found
这是我的Automator设置: 我做错了什么?
更新 如果我将以下内容放入我的
launcher.sh
文件中:#!/bin/bash
`/usr/local/bin/grunt serve --open`
在 Automator 中我遇到了一个不同的错误:env: node: No such file or directory
但是,和之前一样,如果我直接在终端中运行脚本就没问题——所以我认为 @mklement0 关于 PATH
的说法是正确的。
更新 2
launcher.sh
#!/bin/bash
grunt serve --open
自动化工具
PATH="/usr/local/bin:$PATH"
~/Public/Sites/launcher.sh
现在当我在自动化程序中运行它时,仍然会弹出一个错误提示框,但是它没有任何细节 - 它只说:
The action "Run Shell Script" encountered an error.
日志面板显示空白条目。是否有办法获得更多信息?也许有详细模式?
更新3
所以这很奇怪……如果我使用 &> ~/log
,它就可以工作。没有它就会失败。
但是这个方法可行,感谢 @mklement0,现在先这样吧。
PATH="/usr/local/bin:$PATH"
cd ~/Public/Sites && ./launcher.sh &> ~/log