Si je voulais exécuter un AppleScript à partir d'un script bash, je pouvais appeler un fichier avec la liste des commandes à exécuter.
#!/bin/bash
{some commands}
osascript file.scpt
{other commands}
Quoi, cependant, si je voulais exécuter des commandes qui devaient être exécutées dans l'ordre à partir de bash?
Un exemple serait
#!/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"
Je sais que cet exemple est très tiré par les cheveux, mais cela explique ce que j'essaie de faire. Normalement, ces commandes seraient toutes écrites sans leurs \
caractères d' échappement respectifs et moins "
autour de chaque commande. Je les aurais aussi à l'intérieur d'un .scpt
fichier.
Une solution à ma connaissance est de réécrire le script en utilisant #!/usr/bin/osascript
bash et ensuite à partir de là, mais je veux pouvoir mélanger. J'ai constaté que je pouvais tester un fichier de script. S'il existait, il en créerait un et ajouterait chaque commande dont j'avais besoin à ce fichier, puis exécuterait le fichier de script requis à partir de bash, mais cela irait également à l'encontre du but recherché.
Il n'y a aucun moyen de passer d'un fichier à un autre. Je peux échanger le shell utilisé avec la shebang
ligne, puis revenir après avoir exécuté les commandes nécessaires, n'est-ce pas?
Toute idée serait plus que bienvenue.
end tell
du script.