执行shell脚本导致找不到命令

时间:2017-12-02 16:31:27

标签: terminal applescript sh

我找到了用于CPU限制的sh-script,并希望在启动时使用AppleScript按以下方式安排它:

do shell script "sudo /Users/BohdanAir/Documents/Automation/cputhrottler.sh" "password mypassword" with administrator privileges

并收到以下错误:

error "sudo: /Users/BohdanAir/Documents/Automation/cputhrottler.sh: command not found" number 1

P.S:提供给sh文件的传递正在从Get Info选项(CDM + I)完全复制

1 个答案:

答案 0 :(得分:1)

当您的问题中显示的do shell script 命令甚至无法编译时,甚至不确定您是如何收到该错误消息的。

"password mypassword"部分实际上必须是password "mypassword"才能编译。

您获得的原因:

error "sudo: /Users/BohdanAir/Documents/Automation/cputhrottler.sh: command not found" number 1

是因为cputhrottler.sh未设置为可执行文件。

使用以下命令使其可执行:

chmod u+x /Users/BohdanAir/Documents/Automation/cputhrottler.sh

这将允许它执行而不抛出该特定错误消息。

或使用以下惯例:

do shell script "sh /Users/BohdanAir/Documents/Automation/cputhrottler.sh" password "mypassword" with administrator privileges

请注意,sudo已替换为sh,或使用其他 shell 。以这种方式, shell脚本不需要是可执行的。