¿Cómo ejecutar un script de shell desde un AppleScript?

5

Estoy usando una Mac con OSX Yosemite v.10.10.5.

Cuando intento ejecutar mi script de shell desde mi AppleScript, aparece el siguiente mensaje de error:

Mensaje de error en AppleScript Script Editor
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"

¿Qué estoy haciendo mal?

    
pregunta Mowzer 16.04.2016 - 21:35

3 respuestas

4

Para no obtener ese error, debes hacer que myShellScript.sh ejecutable.

En una Terminal, usa el siguiente comando:

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

Además, debes agregar un shebang en la parte superior de la secuencia de comandos .

Ejemplo: #!/bin/bash

Nota: use el shebang apropiado para el shell que desea procesar su script .

Si no desea que el script sea ejecutable, aunque no puedo ver una razón por la que uno no quisiera hacerlo, puede ejecutarlo en AppleScript como en el siguiente ejemplo:

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

Nota: si desea utilizar sh sobre bash , simplemente sustitúyalo en el comando y el shebang .

    
respondido por el user3439894 16.04.2016 - 21:56
7

Puede incrustar su script de shell en AppleScript llamando a bash con un heredoc .

do shell script "/bin/bash -s <<'EOF'
cd /Users/myusername/Git/myproject/
/usr/bin/git remote remove orig
EOF"
    
respondido por el fd0 17.04.2016 - 14:34
1

Reproduce tu código con osascript

osascript << EOF
tell application "Terminal"
activate
end tell
EOF
    
respondido por el user180070 17.04.2016 - 20:24

Lea otras preguntas en las etiquetas