Bash/Shell স্ক্রিপ্টগুলি সাধারণত ফাইলের সমস্ত কোড চালানোর পরপরই সিকোয়েনশিয়ালি রান করে। exit কমান্ড আপনার পছন্দের শর্তাবলীর ভিত্তিতে স্ক্রিপ্টটি এই সিকোয়েন্স শেষ হওয়ার আগেই বন্ধ করতে দেয়।
exit কমান্ডের সিনট্যাক্স
Bash/Shell স্ক্রিপ্টে ব্যবহৃত exit কমান্ডের সিনট্যাক্স নিচে দেওয়া হলো:
exit STATUS
মনে রাখবেন:
- STATUS একটি অপশনাল প্যারামিটার যা স্ক্রিপ্টের এক্সিট স্ট্যাটাস সেট করে
- এক্সিট স্ট্যাটাস অন্যান্য প্রোগ্রাম들에게 বলে দেয় স্ক্রিপ্টটি সফলভাবে এক্সিকিউট হয়েছে কিনা
- ডিফল্টভাবে এটি হয় 0 অথবা স্ক্রিপ্ট দ্বারা এক্সিকিউট করা শেষ কমান্ডের এক্সিট স্ট্যাটাস
- 0 এর এক্সিট স্ট্যাটাস সাফল্য বোঝায়। 0 এর চেয়ে বড় যেকোনো মান ব্যর্থতা বোঝায়
উদাহরণ Bash স্ক্রিপ্ট
নিচে exit কমান্ড ব্যবহার করে একটি উদাহরণ স্ক্রিপ্ট দেওয়া হলো, সাথে সাথে ব্যাখ্যা করা হলো যে এটি কিভাবে বিভিন্নভাবে কাজ করে:
#!/bin/bash
# একটি টেস্ট ভেরিয়েবল যা এরর থাকলে TRUE সেট করা হয়
ERROR=false
# এই লাইন সবসময় প্রিন্ট হবে কারণ এটি যেকোনো exit কমান্ডের আগে আছে
echo "Hello LinuxScrew!"
# যদি এরর থাকে...
if $ERROR ; then
# ব্যবহারকারীকে বলুন এরর হয়েছে
echo "There was an error"
# প্রোগ্রামটি স্ট্যাটাস ১ দিয়ে বন্ধ করুন (স্ক্রিপ্ট সফল হয়নি বোঝাচ্ছে)
exit 1
fi
# স্ক্রিপ্টটি স্ট্যাটাস ০ দিয়ে বন্ধ করুন (স্ক্রিপ্ট সফল হয়েছে বোঝাচ্ছে)
exit 0
# এই লাইন কখনো প্রিন্ট হবে না কারণ এটি exit কমান্ডের পরে আছে, তাই এটি কখনো রান হবে না
echo "This is a pointless line"
লিনাক্স শেল স্ক্রিপ্টে ‘#!’ কী?
দেখানো হয়েছে, exit একটি সহজ কমান্ড যা শুধু স্ক্রিপ্ট থেকে বের হয়, একটি স্ট্যাটাসের সাথে যা পরে চেক করা যায় স্ক্রিপ্টটি সফল হয়েছে কিনা।
একটি প্রোগ্রাম বা স্ক্রিপ্টের এক্সিট স্ট্যাটাস চেক করা
সর্বশেষ রান করা কমান্ডের এক্সিট স্ট্যাটাস শেল থেকে নিচের কমান্ড দিয়ে অ্যাক্সেস করা যায়:
echo $?
স্ক্রিপ্টের আউটপুট সম্পর্কে কী?
স্ক্রিপ্ট থেকে আউটপুট এক্সিট স্ট্যাটাস থেকে আলাদা। প্রোগ্রাম আউটপুট এবং echo এর মতো কমান্ডের আউটপুট সব STDOUT ব্যবহার করে অ্যাপ্লিকেশন দ্বারা আউটপুট করা হয়েছে – যা পরবর্তীতে রিডাইরেক্ট, দেখা এবং সংরক্ষণ করা যায়।