Si quisiera ejecutar un AppleScript desde dentro de un bash script podría llamar a un archivo con la lista de comandos que requiero ejecutar.
#!/bin/bash
{some commands}
osascript file.scpt
{other commands}
Sin embargo, ¿qué pasaría si quisiera ejecutar comandos que tuvieran que ser ejecutados en secuencia desde dentro de bash?
Un ejemplo sería
#!/bin/bash
echo
echo This will open Google Chrome in Kiosk mode
osascript -e "tell application \"Google Chrome\""
osascript -e "activate"
osascript -e "tell application \"System Events\""
osascript -e "key down {command}"
osascript -e "key down {shift}"
osascript -e "keystroke \"f\""
osascript -e "key up {shift}"
osascript -e "key up {command}"
osascript -e "end tell"
echo "Google Chrome is now open in Kiosk Mode"
Sé que es un ejemplo muy rebuscado, pero sirve para explicar lo que intento hacer. Normalmente, todos esos comandos se escribirían sin su respectivo escape \
personajes por todas partes y menos "
alrededor de cada comando. También los tendría dentro de un .scpt
archivo.
Una solución que conozco, es reescribir el script utilizando #!/usr/bin/osascript
en lugar de bash y partir de ahí, pero quiero ser capaz de mezclar. He encontrado que puedo probar un archivo script, si existe crear uno y anexar cada comando que necesito a ese archivo y luego ejecutar el archivo script requerido desde dentro de bash, pero eso también derrota el propósito.
No hay manera de que a mitad de un archivo, pueda cambiar el shell que se está utilizando con el shebang
línea y luego cambiar de nuevo después de haber ejecutado los comandos necesarios, ¿existe?
Cualquier idea será más que bienvenida.