বিল্টিন কমান্ড exitশেলটি ছাড়ায় ( বাশের উল্লেখ থেকে ):
exit [n]
শেল থেকে বের হয়ে শেলের পিতামাতার কাছে n এর একটি স্থিতি ফিরে আসবে। যদি n বাদ দেওয়া হয় তবে প্রস্থান স্থিতি হ'ল শেষ আদেশটি কার্যকর করা হয়। শেলটি শেষ হওয়ার আগে এক্সআইটি-তে কোনও ফাঁদ কার্যকর করা হয়।
ফাইলের শেষে চলে যাওয়াও শেষ হয়ে যায়, শেষ কমান্ডের রিটার্ন কোডটি ফিরিয়ে দেয়, সুতরাং হ্যাঁ, একটি ফাইনাল exit 0পূর্ববর্তী কমান্ডগুলির প্রস্থান স্থিতি ছাড়াই সফল স্থিতি সহ স্ক্রিপ্টটি প্রস্থান করে। (এটি অনুমান করে স্ক্রিপ্টটি ফাইনালে পৌঁছেছে ass exit) কোনও স্ক্রিপ্টের শেষে আপনি ব্যবহার করতেও trueবা :শূন্যের একটি প্রস্থান কোড পেতে পারেন ।
অবশ্যই প্রায়শই আপনি মাঝের স্ক্রিপ্টটি শেষ করতে exitএকটি এর ভিতর থেকে ব্যবহার ifকরতেন।
এগুলিতে একটি 1 মুদ্রণ করা উচিত ( $?পূর্ববর্তী কমান্ড দ্বারা ফিরে আসা প্রস্থান কোড রয়েছে):
sh -c "false" ; echo $?
sh -c "false; exit" ; echo $?
যদিও এটিতে 0 টি মুদ্রণ করা উচিত:
sh -c "false; exit 0" ; echo $?
আমি নিশ্চিত নই যে কোনও স্ক্রিপ্ট exitদ্বারা চালিত স্ক্রিপ্টটির "ব্যর্থতা" ধারণাটি উপলব্ধি করে, কারণ স্ক্রিপ্টের দ্বারা চালিত কিছু কমান্ডের পক্ষে এটি ব্যর্থ হওয়া সম্ভব, তবে স্ক্রিপ্ট নিজেই সফল হয়। কোনটি সাফল্য এবং কোনটি নয় তা সিদ্ধান্ত নেওয়ার বিষয়টি স্ক্রিপ্টের লেখকের হাতে।
এছাড়াও, প্রস্থান কোডগুলির জন্য আদর্শ পরিসর 0..255। 127 এর উপরে কোডগুলি শেল দ্বারা একটি সিগন্যাল দ্বারা সমাপ্ত হওয়া প্রক্রিয়াটি নির্দেশ করতে ব্যবহৃত হয়, তবে সেগুলি স্বাভাবিক উপায়ে ফিরে পাওয়া যায়। waitঅপারেটিং সিস্টেম দ্বারা নির্ধারিত স্ট্যাটাস বিট বিশিষ্ট সিস্টেম কলটি প্রকৃতপক্ষে একটি বৃহত্তর মান প্রদান করে।
exit 0, এটি স্ক্রিপ্টের মধ্যে যা ঘটেছিল তা বিবেচনা না করে 0 এর প্রস্থান কোডের সাথে প্রস্থান করবে।