যদি আমি ব্যাশ স্ক্রিপ্টের মধ্যে থেকে অ্যাপলস্ক্রিপ্ট চালাতে চাইতাম তবে আমি যে আদেশগুলি কার্যকর করতে হবে তার তালিকা সহ একটি ফাইল কল করতে পারি।
#!/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"
আমি জানি এটি একটি খুব দূরবর্তী উদাহরণ, তবে আমি কী করার চেষ্টা করছি তা বোঝাতে এটি কাজ করে। সাধারণত, এই কমান্ডগুলি সমস্ত জায়গাগুলিতে স্ব স্ব পালনের \
অক্ষর ছাড়াই এবং সমস্ত "
কমান্ডের চারপাশে কম লেখা থাকবে less আমি তাদের একটি .scpt
ফাইলের ভিতরে থাকতাম ।
আমি যে সমাধানটি সম্পর্কে অবগত রয়েছি তা হ'ল বাশের #!/usr/bin/osascript
পরিবর্তে স্ক্রিপ্টটি পুনরায় লিখতে এবং সেখান থেকে চলে যাওয়া, তবে আমি মিশ্রিত করতে সক্ষম হতে চাই। আমি খুঁজে পেয়েছি যে আমি একটি স্ক্রিপ্ট ফাইলের জন্য পরীক্ষা করতে পারি, যদি এটি উপস্থিত থাকে তবে একটি ফাইল তৈরি করতে এবং প্রতিটি কমান্ড যুক্ত করতে হবে সেই ফাইলটিতে আমার প্রয়োজন এবং পরে বাশের মধ্যে থেকে প্রয়োজনীয় স্ক্রিপ্ট ফাইলটি কার্যকর করা যায়, তবে এটি উদ্দেশ্যকেও পরাস্ত করে।
কোনও ফাইলের মধ্য দিয়ে কোনও উপায় নেই, আমি shebang
লাইনটির সাথে ব্যবহৃত শেলটি অদলবদল করতে পারি এবং তারপরে আমি প্রয়োজনীয় কমান্ডগুলি কার্যকর করার পরে আবার অদলবদল করতে পারি, আছে কি?
যে কোনও অন্তর্দৃষ্টি স্বাগত চেয়ে বেশি হতে পারে।
end tell
স্ক্রিপ্টের প্রথমটি মিস করেছি ।