Ich verwende einen Mac mit OSX Yosemite v.10.10.5.
Wenn ich versuche, mein Shell-Skript von meinem AppleScript aus auszuführen, erhalte ich die folgende Fehlermeldung:
Fehlermeldung im AppleScript Script Editorerror "sh: /Users/path/to/file/myShellScript.sh: Permission denied" number 126
myShellScript.sh
cd /Users/myusername/Git/myproject/
git remote remove origin
meinAppleScript.applescript
do shell script "/Users/path/to/file/myShellScript.sh"
Was mache ich falsch?
Um diesen Fehler nicht zu erhalten, müssen Sie myShellScript.sh
ausführbar machen.
Verwenden Sie in einem Terminal den folgenden Befehl:
chmod u+x /path/to/file/myShellScript.sh
Außerdem sollten Sie oben im Skript einen Shebang hinzufügen .
Beispiel:#!/bin/bash
Hinweis: Verwenden Sie den entsprechenden Shebang für die Shell , die Sie für die Verarbeitung Ihres Skripts verwenden möchten .
Wenn Sie das Skript nicht ausführbar machen möchten , obwohl ich keinen Grund dafür sehe, können Sie es in AppleScript wie im folgenden Beispiel ausführen:
do shell script "bash /path/to/file/myShellScript.sh"
sh
Hinweis: Wenn Sie over verwenden möchten bash
, ersetzen Sie es einfach im Befehl und im shebang .
Sie können Ihr Shell-Skript in AppleScript-Aufrufe bash
mit einer heredoc
.
do shell script "/bin/bash -s <<'EOF'
cd /Users/myusername/Git/myproject/
/usr/bin/git remote remove orig
EOF"
Spielen Sie Ihren Code mit osascript ab
osascript << EOF
tell application "Terminal"
activate
end tell
EOF
Royi