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 Editorerror "sh: /Users/path/to/file/myShellScript.sh: Permission denied" number 126
myShellScript.sh
cd /Users/myusername/Git/myproject/
git remote remove origin
miAppleScript.applescript
do shell script "/Users/path/to/file/myShellScript.sh"
¿Qué estoy haciendo mal?
Para no obtener ese error, debe hacer myShellScript.sh
ejecutable.
En una Terminal, usa el siguiente comando:
chmod u+x /path/to/file/myShellScript.sh
Además, debe 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 secuencia de comandos .
Si no desea que el script sea ejecutable, aunque no veo una razón por la que uno no quiera hacerlo, puede ejecutarlo en AppleScript como en el siguiente ejemplo:
do shell script "bash /path/to/file/myShellScript.sh"
Nota: si desea usar sh
over bash
, simplemente sustitúyalo en el comando y el shebang .
Puede incrustar su script de shell dentro de AppleScript llamando bash
con una extensión heredoc
.
do shell script "/bin/bash -s <<'EOF'
cd /Users/myusername/Git/myproject/
/usr/bin/git remote remove orig
EOF"
Juega tu código con osascript
osascript << EOF
tell application "Terminal"
activate
end tell
EOF
Royi