我正在尝试从使用 npm 全局安装的软件包“idasen-control”(通过蓝牙控制宜家办公桌)自动执行命令。在 MacOS Automator (zsh shell) 中,我在使用 shell 脚本时收到“找不到命令”,但如果我直接在终端中使用它,它工作正常。此外,如果我在 Automator 中使用 AppleScript 并调用 Terminal,它也可以工作。但这意味着每次我调用命令时都会打开一个终端窗口,这是我想避免的。
这是一个有效的解决方法:
tell application "Terminal" to do script "idasen-control --move-to 14"
delay 0.8
tell application "Terminal" to close windows
这是我在终端中键入“echo $PATH”时发现的内容:
/Users/MYUSERNAME/.nvm/versions/node/v14.16.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
这就是我在“运行 Shell 脚本”中在 Automator 中键入它时得到的结果:
/usr/bin:/bin:/usr/sbin:/sbin
我在 .zshrc 文件中添加了别名(第一行已经存在):
source ~/.bash_profile
alias idasen-control='/Users/MYUSERNAME/.nvm/versions/node/v14.16.0/bin/idasen-control'
然后我运行“source ~/.zshrc”但这没有帮助。我猜这只是一个 PATH 问题,所以我应该在我的 .zshrc 文件中添加什么来解决这个问题?
您不需要使用 AppleScript 在 Automator 中运行脚本。相反,您可以创建一个应用程序或工作流。
export PATH=/Users/MYUSERNAME/.nvm/versions/node/v14.16.0/bin:/usr/local/bin:$PATH
idasen-control --move-to 14