13 votes

Comment exécuter un shell script à partir d'un AppleScript ?

J'utilise un Mac sous OSX Yosemite v.10.10.5.

Lorsque j'essaie d'exécuter mon shell script à partir de mon AppleScript, j'obtiens le message d'erreur suivant :

Message d'erreur à l'éditeur AppleScript script.

error "sh: /Users/path/to/file/myShellScript.sh: Permission denied" number 126

myShellScript.sh

cd /Users/myusername/Git/myproject/
git remote remove origin

monAppleScript.applescript

do shell script "/Users/path/to/file/myShellScript.sh"

Qu'est-ce que je fais de mal ?

14voto

Michael Zhou Points 167

Vous pouvez intégrer votre script shell dans un AppleScript en appelant bash avec un heredoc .

do shell script "/bin/bash -s <<'EOF'
cd /Users/myusername/Git/myproject/
/usr/bin/git remote remove orig
EOF"

13voto

user3439894 Points 52496

Pour ne pas avoir cette erreur, vous devez faire myShellScript.sh exécutable.

Dans un Terminal, utilisez la commande suivante :

chmod u+x /path/to/file/myShellScript.sh

De plus, vous devez ajouter un shebang au sommet de la script .

Exemple : #!/bin/bash

Remarque : Utilisez le shebang pour le coquille vous voulez traiter votre script .

Si vous ne voulez pas faire le script bien que je ne vois pas pourquoi on ne voudrait pas le faire, vous pouvez l'exécuter en AppleScript comme dans l'exemple suivant :

do shell script "bash /path/to/file/myShellScript.sh"

Note : Si vous voulez utiliser sh sur bash il suffit de le substituer dans la commande et le shebang .

2voto

Jouez votre code avec osascript

osascript << EOF
tell application "Terminal"
activate
end tell
EOF

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X