হয় আমি এখানে যা জিজ্ঞাসা করছি তা অত্যন্ত রীতিহীন / অপ্রচলিত / ঝুঁকিপূর্ণ, বা আমার গুগল-ফু দক্ষতা স্নিগ্ধ করার মতো নয় ...
একটি bash
শেল স্ক্রিপ্ট, সেখানে যদি এটা অন্য শেল স্ক্রিপ্ট দ্বারা sourced হচ্ছে বলার উপায় কোন সহজ, অথবা যখন এটি নিজে চালানো হচ্ছে? অন্য কথায়, নিম্নলিখিত দুটি আচরণের মধ্যে পার্থক্য করা কি সম্ভব?
# from another shell script
source myScript.sh
# from command prompt, or another shell script
./myScript.sh
আমি যা করার কথা ভাবছি তা হ'ল একটি ইউটিলিটিগুলির মতো শেল স্ক্রিপ্ট bash
তৈরি করা যা ফাংশনগুলি সরবরাহ করা হয় যখন তা সসোর্স করার পরে উপলব্ধ করা যায়। যদিও এই স্ক্রিপ্টটি নিজে চালিত হচ্ছে, আমি এটি নির্দিষ্ট ক্রিয়াকলাপগুলির উপর ভিত্তি করে কিছু নির্দিষ্ট ক্রিয়াকলাপ সম্পাদন করতে চাই। এমন কোনও পরিবেশের পরিবর্তনশীল রয়েছে যা এই শেল স্ক্রিপ্টটি বেছে নিতে পারে, যেমন
some_function() {
# ...
}
if [ -z "$IS_SOURCED" ]; then
some_function;
fi
অগ্রাধিকার হিসাবে, আমি এমন একটি সমাধান খুঁজছি যাতে কোনও ফ্ল্যাগ ভেরিয়েবল সেট করার জন্য কলার স্ক্রিপ্টের প্রয়োজন হয় না।
সম্পাদনা : আমি স্ক্রিপ্টটি সোর্সিং এবং চালনা করার মধ্যে পার্থক্য জানি, আমি যে স্ক্রিপ্টটি ব্যবহার হচ্ছে তা (উভয় উপায়ে) পার্থক্যটি জানা সম্ভব কিনা তবে আমি এখানে যা জানার চেষ্টা করছি ।
.
কমান্ডটি মোটেও জিজ্ঞাসা করছেন না , তবে কোনও স্ক্রিপ্ট উত্সাহিত হয়েছে বা সাধারণভাবে চালিত হয়েছে কিনা তা সনাক্ত করার জন্য (অর্থাত্ একটি সাবসিলে)।