找不到 MacOS Automator shell 脚本命令,但在终端中运行良好

问题描述 投票:0回答:1

我正在尝试从使用 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 zsh automator zshrc
1个回答
0
投票

您不需要使用 AppleScript 在 Automator 中运行脚本。相反,您可以创建一个应用程序或工作流。

如何创建运行脚本的应用程序

  1. 打开Automator
  2. 点击新建
  3. 选择申请
  4. 搜索Run Shell Script
  5. 将其拖放到读取的区域拖动操作或文件以构建您的工作流程
  6. 更新您的 shell 脚本以阅读以下内容:
export PATH=/Users/MYUSERNAME/.nvm/versions/node/v14.16.0/bin:/usr/local/bin:$PATH
idasen-control --move-to 14
  1. 保存申请

如何在启动时自动加载此应用程序

  1. 转到 Mac 的系统偏好设置
  2. 转到用户和组
  3. 选择您的用户
  4. 选择登录项选项卡
  5. 单击窗口底部的+图标
  6. 选择刚刚创建的应用程序
© www.soinside.com 2019 - 2024. All rights reserved.