Я использую Mac под управлением OSX Yosemite v.10.10.5.
Когда я пытаюсь запустить свой сценарий оболочки из своего AppleScript, я получаю следующее сообщение об ошибке:
Сообщение об ошибке в редакторе сценариев AppleScripterror "sh: /Users/path/to/file/myShellScript.sh: Permission denied" number 126
myShellScript.sh
cd /Users/myusername/Git/myproject/
git remote remove origin
myAppleScript.applescript
do shell script "/Users/path/to/file/myShellScript.sh"
Что я делаю не так?
Чтобы не получить эту ошибку, вам нужно сделать myShellScript.sh
исполняемый файл.
В Терминале используйте следующую команду:
chmod u+x /path/to/file/myShellScript.sh
Кроме того, вы должны добавить шебанг в начало скрипта .
Пример:#!/bin/bash
Примечание. Используйте соответствующий шебанг для оболочки , в которой вы хотите обработать свой скрипт .
Если вы не хотите делать скрипт исполняемым, хотя я не вижу причин, по которым этого не хотелось бы, вы можете запустить его в AppleScript, как в следующем примере:
do shell script "bash /path/to/file/myShellScript.sh"
Примечание. Если вы хотите использовать sh
over bash
, просто подставьте его в команду и shebang .
Вы можете встроить свой сценарий оболочки в вызов AppleScript bash
с помощью файла heredoc
.
do shell script "/bin/bash -s <<'EOF'
cd /Users/myusername/Git/myproject/
/usr/bin/git remote remove orig
EOF"
Воспроизведите свой код с помощью osascript
osascript << EOF
tell application "Terminal"
activate
end tell
EOF
Ройи