আমাদের ব্যাশ ভূমিকা নিবন্ধে, আমরা শিখেছি যে একটি শেল-স্ক্রিপ্ট ফাইলে শেল ইন্টারপ্রেটার দ্বারা কার্যকর করা কমান্ডগুলির তালিকা রয়েছে। এই নিবন্ধে আসুন আমরা শেল কমান্ড এবং এর অভ্যন্তরীণ সম্পর্কে পর্যালোচনা করি।
একটি আদেশ শব্দের একটি ক্রম। প্রথম শব্দটি নির্দেশ করে যে কমান্ডটি কার্যকর করা হবে এবং অবশিষ্ট শব্দগুলি একটি আর্গুমেন্ট হিসাবে পাস করা হয়, যেখানে আর্গুমেন্টগুলি কমান্ডের বিকল্প বা পরামিতি হতে পারে।
কমান্ড লাইনে আপনি চালানো কিছু সাধারণ ইউনিক্স কমান্ড শেল কমান্ড। উদাহরণস্বরূপ, ls, lpr এবং grep কমান্ড।
$ ls -alF $ lpr filename $ grep "string" filename
শেল কমান্ড প্রস্থান অবস্থা
একটি কমান্ডের রিটার্ন মান হল এর প্রস্থান স্থিতি, অথবা 128 + N যদি কমান্ডটি সংকেত N দ্বারা বন্ধ করা হয়। কমান্ড কার্যকর করার ফলাফল (সফল/ব্যর্থতা) পরীক্ষা করতে প্রস্থান স্থিতি ব্যবহার করা হয়। যদি প্রস্থান স্থিতি শূন্য হয়, তাহলে কমান্ডটি সাফল্য। কমান্ড ব্যর্থ হলে প্রস্থান অবস্থা অ-শূন্য হবে।
প্রস্থান মান | প্রস্থান স্থিতি |
---|---|
0 (শূন্য) | সফল |
শূন্য নয় | ব্যর্থতা |
2 | ভুল ব্যবহার |
127 | কমান্ড পাওয়া যায়নি |
126 | একটি এক্সিকিউটেবল নয় |
$? শেল ভেরিয়েবল
শেল ভেরিয়েবলের নাম $? এটি একটি বিশেষ বিল্ট-ইন ভেরিয়েবল যার শেষ কমান্ডের এক্সিউট স্ট্যাটাস রয়েছে।
- শেল ফাংশন এক্সিকিউশনের পর, $? একটি ফাংশনে সম্পাদিত শেষ কমান্ডের প্রস্থান অবস্থা ফেরত দেয়।
- শেল স্ক্রিপ্ট কার্যকর করার পরে, $? স্ক্রিপ্টে সম্পাদিত শেষ কমান্ডের প্রস্থান অবস্থা ফেরত দেয়।
নমুনা শেল স্ক্রিপ্ট যা শেল-কমান্ড প্রস্থান অবস্থা ব্যাখ্যা করে
নিম্নলিখিত exitstatus.sh শেল-স্ক্রিপ্ট বিভিন্ন শেল-কমান্ড প্রস্থান অবস্থার উদাহরণ দেখায়।
$ cat exitstatus.sh #! /bin/bash echo -e "Successful execution" echo -e "=====================" echo "hello world" # Exit status returns 0, because the above command is a success. echo "Exit status" $? echo -e "Incorrect usage" echo -e "=====================" ls --option # Incorrect usage, so exit status will be 2. echo "Exit status" $? echo -e "Command Not found" echo -e "=====================" bashscript # Exit status returns 127, because bashscript command not found echo "Exit status" $? echo -e "Command is not an executable" echo -e "=============================" ls -l execution.sh ./execution.sh # Exit status returns 126, because its not an executable. echo "Exit status" $?
এখন, নমুনা শেল স্ক্রিপ্ট দ্বারা প্রদত্ত বিভিন্ন প্রস্থান মূর্তি দেখতে উপরের exitstatus.sh চালান৷
$ bash exitstatus.sh Successful execution ===================== hello world Exit status 0 Incorrect usage ===================== ls: unrecognized option `--option' Try `ls --help' for more information. Exit status 2 Command Not found ===================== exitstaus.sh: line 15: bashscript: command not found Exit status 127 Command is not an executable ============================= -rw-r--r-- 1 root root 659 Mar 9 13:36 execution.sh exitstatus.sh: line 21: ./execution.sh: Permission denied Exit status 126
দ্রষ্টব্য:একটি ফাংশন বা কমান্ডের রিটার্ন মান পরীক্ষা করা একজন প্রোগ্রামারের প্রধান দায়িত্বগুলির মধ্যে একটি। যেকোনো কোড লেখার সময় এটি আপনার দ্বিতীয় প্রকৃতি হওয়া উচিত।
<কেন্দ্র> কেন্দ্র>