Por alguna razón, no puedo conseguir que el "do shell script" de AppleScript utilice el último (GPLv3) Bash:
do shell script "/usr/local/bin/bash; echo $BASH_VERSION"
-- Result: "3.2.57(1)-release"
Extrañamente, es hace trabajar con un .sh externo script:
#!/usr/local/bin/bash
echo $BASH_VERSION
Llamándolo así:
do shell script "~/Library/Scripts/Script.sh"
-- Result: "5.0.17(1)-release"
¿Cuál es la diferencia y puedo hacer que funcione también dentro del .scpt script?
0 votos
El primero no emite el
echo $BASH_VERSION
en el subchasis que has creado. Mientras que los scripts tienen el she-bang que especifica exactamente en qué shell ejecutar el código.0 votos
@Allan Todavía no estoy seguro de si mi problema puede ser resuelto entonces. ¿Puedo hacer que el subshell dentro de mi archivo .scpt utilice el último Bash?
0 votos
@abc Me sale algún error pero creo que no funciona.
0 votos
Deberías poder hacerlo, pero recuerda que si has cambiado la ruta de tu entorno, para la GUI, probablemente necesites cerrar la sesión para que reciba los cambios. Confírmalo con
do shell script "echo $PATH
" y ver si tiene los nuevos valores antes de cerrar la sesión y después de volver a entrar.0 votos
@Daan ¿qué errores estás recibiendo?
0 votos
@Allen Ver la respuesta de @abc. El problema es que
do shell script
siempre utiliza/bin/sh
. Tengo que usar-c
y dar los comandos en una cadena.0 votos
@abc Algunos errores relacionados con las comillas, pero las comillas simples lo solucionaron.