अगर मैं एक bash स्क्रिप्ट के भीतर से AppleScript चलाना चाहता था, तो मैं कमांड्स की सूची के साथ एक फ़ाइल कॉल कर सकता था जिसे मुझे निष्पादित करने की आवश्यकता है।
#!/bin/bash
{some commands}
osascript file.scpt
{other commands}
हालाँकि, अगर मैं आदेशों को चलाना चाहता था जो कि बैश के भीतर से अनुक्रम में चलाने की आवश्यकता थी?
एक उदाहरण होगा
#!/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
को बैश के बजाय उपयोग करके फिर से लिखना और वहां से जाना, लेकिन मैं मिश्रण करने में सक्षम होना चाहता हूं। मैंने पाया है कि मैं एक स्क्रिप्ट फ़ाइल के लिए परीक्षण कर सकता हूं, अगर यह एक बनाने के लिए मौजूद है और प्रत्येक कमांड को उस फ़ाइल में संलग्न करना है और फिर आवश्यक स्क्रिप्ट फ़ाइल को बैश के भीतर से निष्पादित करना है, लेकिन यह भी उद्देश्य को हरा देता है।
कोई रास्ता नहीं है कि एक फ़ाइल के माध्यम से मध्य-मार्ग, मैं शेल का उपयोग shebang
लाइन के साथ कर सकता हूं और फिर आवश्यक कमांड को निष्पादित करने के बाद वापस स्वैप कर सकता हूं, क्या वहां है?
किसी भी अंतर्दृष्टि का स्वागत से अधिक होगा।
end tell
स्क्रिप्ट की पहली याद आई।