Gdybym chciał uruchomić AppleScript z poziomu skryptu bash, mógłbym wywołać plik z listą poleceń, które muszę wykonać.
#!/bin/bash
{some commands}
osascript file.scpt
{other commands}
Co jednak, jeśli chciałbym uruchamiać polecenia, które musiały być uruchamiane sekwencyjnie z poziomu bash?
Przykładem może być
#!/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"
Wiem, że jest to bardzo naciągany przykład, ale działa, aby wyjaśnić, co próbuję zrobić. Zwykle wszystkie te polecenia byłyby pisane bez odpowiednich \
znaków ucieczki w każdym miejscu, a mniej "
wokół każdego polecenia. Chciałbym też mieć je w .scpt
pliku.
Znanym mi rozwiązaniem jest przepisanie skryptu za pomocą #!/usr/bin/osascript
zamiast bash i przejście stamtąd, ale chcę mieć możliwość łączenia. Przekonałem się, że mogę przetestować plik skryptu, jeśli istnieje, aby go utworzyć i dołączyć każdą komendę, której potrzebuję, do tego pliku, a następnie wykonać wymagany plik skryptu z poziomu bash, ale to także nie udaje się.
Nie ma możliwości, aby w połowie pliku można było zamienić powłokę używaną z shebang
linią, a następnie z powrotem po wykonaniu niezbędnych poleceń, prawda?
Każdy wgląd byłby więcej niż mile widziany.
end tell
skryptu.