রিদওয়ান বিন শামীম
পূর্ববর্তী টিউটোরিয়ালে ভেরিয়েবল নামে নন আলফানিউমেরিক ক্যারেক্টার ব্যবহার বিষয়ে সতর্ক করা হয়েছিল, কারণ ইউনিক্স চলকে এদের ভিন্ন অর্থ হয়।
যেমন, $ ক্যারেক্টার কারেন্ট সেলে আইডি নাম্বার বা পিআইডি প্রক্রিয়া বোঝায়।
$echo $$
উপরের কম্যান্ড কারেন্ট সেলের পিআইডি যেভাবে বোঝায়,
29949
নিচের ছকে সেল স্ক্রিপ্টে ব্যবহার করা যায় এমন স্পেশাল ভেরিয়েবল দেখানো হল,
Variable | Description |
$0 | কারেন্ট স্ক্রিপ্টের ফাইল নেম |
$n | এই চলক সেসব আর্গুমেন্টের সাথে সমন্বয় করে যারা স্ক্রিপ্টকে সাহায্য করে। |
$# | স্ক্রিপ্টে সরবরাহ করা আর্গুমেন্টের সংখ্যা |
$* | সব আর্গুমেন্ট ডাবল কোটেড। কোনও স্ক্রিপ্ট দুটি আর্গুমেন্ট রিসিভ করলে $* , $1 $2 এর সমপর্যায়ের। |
$@ | সব আর্গুমেন্ট স্বতন্ত্রভাবে ডাবল কোটেড। কোনও স্ক্রিপ্ট দুটি আর্গুমেন্ট রিসিভ করলে $@, $1 $2 এর সমপর্যায়ের। |
$? | সর্বশেষ সম্পাদিত কম্যান্ডের এক্সিট স্ট্যাটাস |
$$ | কারেন্ট সেলের প্রসেস নাম্বার |
$! | সর্বশেষ ব্যাকগ্রাউন্ড সেলের প্রসেস নাম্বার |
কম্যান্ড লাইন আর্গুমেন্টঃ কম্যান্ড লাইন আর্গুমেন্ট $1, $2, $3,…$9 হল পজিসনাল প্যারামিটার যার $0 প্রকৃত কম্যান্ড, সেল স্ক্রিপ্ট,প্রোগ্রাম বা ফাংশন ও $1, $2, $3, …$9 হল কম্যান্ডের আর্গুমেন্ট।
নিচের স্ক্রিপ্ট কম্যান্ড লাইন সংশ্লিষ্ট বিভিন্ন স্পেশাল ভেরিয়েবলস ব্যবহার করে,
#!/bin/sh echo "File Name: $0" echo "First Parameter : $1" echo "First Parameter : $2" echo "Quoted Values: $@" echo "Quoted Values: $*" echo "Total Number of Parameters : $#"
নিচে উপরের স্ক্রিপ্টের পরীক্ষামূলক সম্পাদন দেয়া হল,
$./test.sh Zara Ali File Name : ./test.sh First Parameter : Zara Second Parameter : Ali Quoted Values: Zara Ali Quoted Values: Zara Ali Total Number of Parameters : 2
স্পেশাল প্যারামিটার $* and $@ঃ কম্যান্ড লাইন আর্গুমেন্টে ঢোকার জন্য স্পেশাল প্যারামিটার আছে, $* ও $@ এমন স্পেশাল প্যারামিটার, যারা ডাবল কোটে আবদ্ধ হওয়ার আগ পর্যন্ত একই রকম প্রতিক্রিয়া দেখায়। আমরা অজানা সংখ্যক কম্যান্ড লাইন আর্গুমেন্টের প্রক্রিয়ার জন্য $* বা $@ যেকোনো স্পেশাল প্যারামিটার দিয়ে সেল স্ক্রিপ্ট লিখতে পারি।
#!/bin/sh for TOKEN in $* do echo $TOKEN done
উপরের স্ক্রিপ্টের পরীক্ষামূলক সম্পাদন
$./test.sh Zara Ali 10 Years Old Zara Ali 10 Years Old
এক্সিট স্ট্যাটাস
$?চলক পূর্ববর্তী কম্যান্ডের এক্সিট স্ট্যাটাস নির্দেশ করে। এক্সিট স্ট্যাটাস হল একপ্রকারের নিউমেরিক্যাল মান যা কম্যান্ড সম্পন্ন হওয়ার সাথে সাথে আবর্তিত হয়।
নিচে সফল কম্যান্ডের উদাহরণ দেয়া হল,
$./test.sh Zara Ali
File Name : ./test.sh
First Parameter : Zara
Second Parameter : Ali
Quoted Values: Zara Ali
Quoted Values: Zara Ali
Total Number of Parameters : 2
$echo $?
0
$