【发布时间】:2016-02-29 17:09:02
【问题描述】:
我有一个简单的 Gruntfile,我希望能够从我的 OSX 扩展坞中的图标运行它。
我创建了一个非常简单的 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
现在我在 Automator 中运行它时仍然会弹出错误消息,但它没有详细信息 - 它只是说:
The action "Run Shell Script" encountered an error.
日志面板显示一个空白条目。有没有办法获得更多信息?可能是详细模式?
更新 3
所以这很奇怪......如果我使用&> ~/log 它可以工作。没有它就会失败。
但这是有效的,谢谢@mklement0,现在可以了
PATH="/usr/local/bin:$PATH"
cd ~/Public/Sites && ./launcher.sh &> ~/log
【问题讨论】:
标签: macos bash shell automator