Jika saya ingin menjalankan AppleScript dari dalam skrip bash saya bisa memanggil file dengan daftar perintah yang saya perlukan untuk mengeksekusi.
#!/bin/bash
{some commands}
osascript file.scpt
{other commands}
Namun, bagaimana jika saya ingin menjalankan perintah yang perlu dijalankan secara berurutan dari dalam bash?
Contohnya adalah
#!/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"
Saya tahu ini adalah contoh yang sangat jauh, tetapi berfungsi untuk menjelaskan apa yang saya coba lakukan. Biasanya, perintah-perintah itu semua akan ditulis tanpa \
karakter melarikan diri masing-masing di semua tempat dan kurang di "
sekitar setiap perintah. Saya juga memiliki mereka di dalam .scpt
file.
Solusi yang saya tahu, adalah menulis ulang skrip menggunakan #!/usr/bin/osascript
alih-alih bash dan pergi dari sana, tapi saya ingin bisa berbaur. Saya telah menemukan bahwa saya dapat menguji file skrip, jika memang ada untuk membuat satu dan menambahkan setiap perintah saya perlu file itu dan kemudian menjalankan file skrip yang diperlukan dari dalam bash, tetapi itu juga mengalahkan tujuannya.
Tidak ada cara bahwa pertengahan jalan melalui file, saya bisa menukar shell yang digunakan dengan shebang
garis dan kemudian bertukar kembali setelah saya menjalankan perintah yang diperlukan, bukan?
Wawasan apa pun akan lebih dari sekadar sambutan.
end tell
naskah pertama.