আমি কীভাবে দক্ষতার set
সাথে আমার স্ক্রিপ্টে বিভিন্ন অপশন ব্যবহার করব তা শিখছি এবং set -u
ভেরিয়েবলটি সঠিকভাবে সেট না হয়ে গেলে (উদাহরণস্বরূপ ব্যবহারকারীদের মুছে ফেলা) আমার স্ক্রিপ্ট থেকে বেরিয়ে আসার জন্য উপযুক্ত বলে মনে হচ্ছে। ম্যান পৃষ্ঠা অনুসারে , set -u
এবং set -e
নিম্নলিখিতগুলি করে ...
-e Exit immediately if a command exits with a non-zero status.
-u Treat unset variables as an error when substituting.
এই কার্যকারিতাটি পরীক্ষা করার জন্য আমি একটি পরীক্ষার স্ক্রিপ্ট তৈরি করেছি, তবে এটি প্রত্যাশার মতো কাজ করছে বলে মনে হয় না। সম্ভবত কেউ আমার সম্পর্কে আমার সমস্যাটি আরও ভালভাবে ব্যাখ্যা করতে পারে এবং আমি কোথায় ভুল ব্যাখ্যা দিচ্ছি? টেস্ট স্ক্রিপ্ট নীচে। ধন্যবাদ.
set -e
set -u
testing="This works"
echo $?
echo ${testing}
testing2=
echo $?
echo ${testing2}
testing3="This should not appear"
echo $?
echo ${testing3}
আমি স্ক্রিপ্টটি 0 এবং "এটি কাজ করে" প্রদর্শিত হবে আশা করি এবং তারপরে ${testing2}
সেট না করে ব্যর্থ হয় ।
পরিবর্তে আমি 0 এবং "এটি কাজ করে" প্রদর্শিত হয়, 0 এবং তারপরে 0 অনুসরণ করুন এটি প্রদর্শিত হবে না
কেউ কি কিছু জ্ঞান সরবরাহ করতে পারেন? ধন্যবাদ.