Mor*_*ann 5 macos terminal zsh node.js
我正在尝试通过 NodeJS 脚本运行 MacOS 快捷方式。shortcuts run shortcutname为了实现这一目标,我在 MacOS 快捷方式应用程序中创建了快捷方式,该应用程序通常通过键入( Docs ) 在终端 (ZSH) 中运行。直接在终端中输入它们时它们可以正常工作,但从 NodeJS 脚本调用时则不行。
我的脚本如下所示:
exec('shortcuts run shortcutname', (error, stdout, stderr) => {
if (error) {
console.log(`error: ${error.message}`);
return;
}
if (stderr) {
console.log(`stderr: ${stderr}`);
return;
}
console.log(`stdout: ${stdout}`);
});
Run Code Online (Sandbox Code Playgroud)
从终端启动脚本时,node script.js它不执行任何操作。它不会返回任何内容,也不会完成。我尝试shortcuts run shortcutname用系统应该知道的其他命令替换该命令。例如ls,或git。他们都工作。另外,当我最后省略时shortcutname,它会抱怨缺少参数。
我怀疑缺少访问权限,但显然 NodeJS 以我的普通用户身份运行。在脚本上下文中运行whoami会返回我的用户名。
NODE_DEBUG=cluster,net,http,fs,tls,module,timers node script.js没有表现出任何异常。我还尝试使用二进制文件的完整路径。which shortcuts给我/usr/bin/shortcuts。我在我的脚本中使用了它/usr/bin/shortcuts run shortcutname。
我缺少什么?提前致谢!
虽然我以为我测试了它,但我找到了解决方案:\nexecSync而不是execworks
exec如果有人能解释为什么\xe2\x80\x99不起作用,那\xe2\x80\x99d 会很酷。
干杯!
\n| 归档时间: |
|
| 查看次数: |
781 次 |
| 最近记录: |