এটি পরিবেশের উপর নির্ভর করে, তবে আমি বলব এটি খারাপ স্টাইল।
ইউনিক্সের মতো সিস্টেমে একটি শক্তিশালী কনভেনশন থাকে যে 0 এর একটি প্রস্থান স্থিতি সাফল্যকে নির্দেশ করে এবং কোনও শূন্য-বহির্গমন স্থিতি ব্যর্থতা নির্দেশ করে। কিছু, তবে সমস্ত নয়, প্রোগ্রামগুলি বিভিন্ন শূন্য-বহির্গমন প্রস্থান কোডগুলির সাথে বিভিন্ন ধরণের ব্যর্থতার মধ্যে পার্থক্য করে; উদাহরণস্বরূপ grep
সাধারণত প্যাটার্নটি পাওয়া গেলে 0, এবং এটির অনুপস্থিত ফাইলের মতো ত্রুটি থাকলে 2 (বা আরও বেশি) পাওয়া যায়।
এই কনভেনশনটি ইউনিক্স শেলগুলিতে বেশ শক্ত হয়ে গেছে। উদাহরণস্বরূপ, মধ্যে sh
, bash
এবং অন্যান্য বোর্ন মত শেল, if
বিবৃতি একইরূপে সাফল্য / সত্য হিসাবে একটি 0 প্রস্থান স্থিতি এবং ব্যর্থতা / মিথ্যা হিসাবে একটি নন-জিরো প্রস্থান স্থিতি:
if your-command
then
echo ok
else
echo FAILURE
fi
আমি বিশ্বাস করি এমএস উইন্ডোজের অধীনে এই সম্মেলনগুলি একই রকম।
এখন অবশ্যই আপনার নিজের প্রোগ্রাম লিখতে বাধা দেওয়ার কিছু নেই যা প্রচলিত প্রস্থান কোডগুলি ব্যবহার করে, বিশেষত যদি এর সাথে আর কিছু না হয় তবে সচেতন হন যে আপনি একটি সুপ্রতিষ্ঠিত কনভেনশন লঙ্ঘন করছেন, এবং এটি পরে এসে আপনাকে কামড়াতে পারে ।
কোনও প্রোগ্রামের এই ধরণের তথ্য ফেরত দেওয়ার স্বাভাবিক উপায় হ'ল এটি মুদ্রণ করা stdout
:
status = $(your-command)
echo Result is $status
set -e
কোথাও রাখি put