หากฉันต้องการเรียกใช้ AppleScript จากภายในสคริปต์ทุบตีฉันสามารถเรียกไฟล์ที่มีรายการคำสั่งที่ฉันต้องการเรียกใช้งาน
#!/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"
ฉันรู้ว่านี่เป็นตัวอย่างที่ดึงมาได้ไกลมาก แต่ก็ใช้งานได้เพื่ออธิบายสิ่งที่ฉันพยายามทำ โดยปกติแล้วคำสั่งเหล่านั้นทั้งหมดจะถูกเขียนโดยไม่มี\
อักขระescape ตามลำดับทั้งหมดและน้อยกว่า"
แต่ละคำสั่ง ฉันต้องการให้พวกเขาอยู่ใน.scpt
ไฟล์
วิธีแก้ปัญหาที่ฉันทราบคือการเขียนสคริปต์ใหม่โดยใช้#!/usr/bin/osascript
แทนการทุบตีและไปจากที่นั่น แต่ฉันต้องการที่จะผสมผสาน ฉันพบว่าฉันสามารถทดสอบไฟล์สคริปต์ได้หากมันมีอยู่เพื่อสร้างและผนวกแต่ละคำสั่งที่ฉันต้องใช้กับไฟล์นั้นจากนั้นเรียกใช้ไฟล์สคริปต์ที่ต้องการจากภายในทุบตี แต่ยังเอาชนะวัตถุประสงค์
ไม่มีทางที่มิดเวย์ผ่านไฟล์ฉันสามารถสลับเชลล์ที่ใช้กับshebang
บรรทัดแล้วสลับกลับไปหลังจากที่ฉันเรียกใช้คำสั่งที่จำเป็นแล้วมีหรือไม่?
ความเข้าใจใด ๆ จะเป็นมากกว่าการต้อนรับ
end tell
ไป