Come eseguire uno script di shell da un AppleScript?

5

Sto usando un Mac con OSX Yosemite v.10.10.5.

Quando provo a eseguire il mio script shell dal mio AppleScript, ottengo il seguente messaggio di errore:

Messaggio di errore su Script Editor di AppleScript
error "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"

Che cosa sto sbagliando?

    
posta Mowzer 16.04.2016 - 21:35
fonte

3 risposte

4

Per non ottenere questo errore, devi rendere myShellScript.sh eseguibile.

In un terminale, usa il seguente comando:

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

Inoltre, dovresti aggiungere un shebang all'inizio dello script .

Esempio: #!/bin/bash

Nota: usa il shebang appropriato per la shell che vuoi elaborare il tuo script .

Se non vuoi rendere eseguibile il script , anche se non riesco a vedere una ragione per cui non vuoi farlo, puoi eseguirlo in AppleScript come nell'esempio seguente:

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

Nota: se vuoi utilizzare sh su bash , sostituiscilo nel comando e shebang .

    
risposta data 16.04.2016 - 21:56
fonte
7

Puoi incorporare lo script della shell in AppleScript chiamando bash con heredoc .

do shell script "/bin/bash -s <<'EOF'
cd /Users/myusername/Git/myproject/
/usr/bin/git remote remove orig
EOF"
    
risposta data 17.04.2016 - 14:34
fonte
1

Riproduci il tuo codice con osascript

osascript << EOF
tell application "Terminal"
activate
end tell
EOF
    
risposta data 17.04.2016 - 20:24
fonte

Leggi altre domande sui tag