我有一个shell脚本,它计算一个装满JSON文件的文件夹,该文件夹在直接调用时运行良好,但在从launchd运行时失败。具体来说,launchd在这一行上失败:
current_file_snapshots=$(cat $current_file | jq '.snapshots | length')因为:
jq: command not found我查看了jq文档来找出这个问题,但是没有提到这个问题。我还没有弄清楚如何让jq (或任何类似的第三方工具)通过launchd来工作。
谢谢!
发布于 2014-05-11 22:03:29
啊,看起来我以为launchd和普通bash共享相同的路径。明确说明JQ生活的地方似乎是可行的:
因此,在文件的顶部,我添加了:
JQ=/usr/local/bin/jq并将“jq”的所有实例替换为:
$JQ发布于 2014-05-12 12:07:57
作为在Mac中运行的第一个进程,launchd除了您在/etc/launchd.conf中指定的内容之外,没有任何环境(包括PATH参数)。您可以创建该文件并添加
setenv PATH "/usr/local/bin"如果您希望完整的环境与您的常规shell会话相关联,您应该以登录shell的形式显式地执行脚本:
bash -l myscript.bashhttps://stackoverflow.com/questions/23598328
复制相似问题