13 votos

Cómo ejecutar una secuencia de comandos de shell de un AppleScript?

Estoy usando un Mac con OSX Yosemite v. 10.10.5.

Cuando intento ejecutar mi script de shell de mi AppleScript, me sale el siguiente mensaje de error:

Mensaje de Error en el Editor de secuencias de Comandos 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"

¿Qué estoy haciendo mal?

14voto

Michael Zhou Puntos 167

Puede integrar su secuencia de comandos de shell dentro de AppleScript llamando bash con un heredoc.

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

13voto

user3439894 Puntos 5883

A no se que error, usted necesita para hacer myShellScript.sh ejecutable.

En un Terminal, utilice el siguiente comando:

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

También, se debe agregar un proceso a la parte superior de la secuencia de comandos.

Ejemplo: #!/bin/bash

Nota: el proceso de la shell desea proceso de su secuencia de comandos.

Si usted no desea hacer el script ejecutable, aunque no puedo ver una razón por la que uno no quiere, puede ejecutar AppleScript como en el siguiente ejemplo:

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

Nota: Si desea utilizar sh sobre bash, basta con sustituir en el mando y el shebang.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X