Якщо я хотів запустити AppleScript з скрипту bash, я міг би викликати файл із переліком команд, які мені потрібно виконати.
#!/bin/bash
{some commands}
osascript file.scpt
{other commands}
Що, однак, якщо я хотів запускати команди, які потрібно запускати послідовно зсередини bash?
Прикладом може бути
#!/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"
Я знаю, що це дуже надуманий приклад, але він працює, щоб пояснити, що я намагаюся зробити. Як правило, ці команди писатимуться без відповідних \
символів втечі повсюди і менше "
навколо кожної команди. Я також мав би їх у .scpt
файлі.
Мені відомо, що це рішення - це переписати сценарій, використовуючи #!/usr/bin/osascript
замість bash, і перейти звідти, але я хочу мати можливість суміш. Я виявив, що я можу перевірити файл сценарію, якщо він існує, щоб створити його і додати кожну мені потрібну команду до цього файлу, а потім виконати потрібний файл сценарію зсередини bash, але це також переможе ціль.
Немає можливості, щоб посеред файлу я міг поміняти місцями оболонку, яка використовується shebang
рядком, а потім поміняти місцями назад після того, як я виконав необхідні команди, чи є?
Будь-яке розуміння було б більш ніж вітальним.
end tell
із сценарію.