রিদওয়ান বিন শামীম
ভেরিয়েবল বা চলক একপ্রকারের ক্যারেক্টার স্ট্রিং যেটিতে আমরা মান আরোপ করি। এই মান সংখ্যা, টেক্সট, ফাইলনেম, ডিভাইস বা যেকোনো ডাটাও হতে পারে। চলক আসলে মূল ডাটার নির্দেশক বই কিছু নয়।
চলকের নাম
চলকের নাম অক্ষর, সংখ্যা বা আন্ডারস্কোর বিশিষ্ট হতে পারে। ইউনিক্স সেল চলকের নাম বড় হাতের অক্ষরের হয়।
নিচের উদাহরণ চলকের গ্রহণযোগ্য উদাহরণ
_ALI TOKEN_A VAR_1 VAR_2
আবার নিচের উদাহরণ চলকের গ্রহণযোগ্য উদাহরণ না।
2_VAR -VARIABLE VAR1-VAR2 VAR_A!
এক্ষেত্রে !,*, বা – ব্যবহার করা যাবে না বলেই এটি বৈধ উদাহরণ না। সেলের ক্ষেত্রে এগুলোর স্বতন্ত্র মানে দাঁড়ায়।
চলক বিবৃতি
চলককে নিচের কোড দ্বারা বিবৃত করা হয়।
variable_name=variable_value
উদাহরণস্বরূপ,
NAME=”Zara Ali”
এই উদাহরণে NAME হল চলক আর “Zara Ali” হল এতে আরোপিত মান। এধরনের চলককে স্কেলার চলক বলে, একক সময়ে এগুলো একটি মাত্র মান ধারণ করে।
চলকে আমরা যে মান চাই সেল তাই সংরক্ষণের সুযোগ দেয়। যেমন,
VAR1="Zara Ali" VAR2=100
মানে প্রবেশ করা
চলকে সংরক্ষিত মানে প্রবেশ করতে হলে নামের সাথে ( $) চিহ্ন ব্যবহার করতে হয়।
যেমন,
#!/bin/sh
NAME="Zara Ali" echo $NAME
উপরের কোড যে ফলাফল দেখাবে তা হল,
ZaraAli
রিড অনলি চলক
readonly কম্যান্ড দ্বারা নির্ধারিত এই চলকের মান পরবর্তীতে আর পরিবর্তন করা যায় না।
যেমন নিচের উদাহরণে কোনও নামের মান পরিবর্তন করলে তা ভুল চলক হয়ে যাবে।
#!/bin/sh
NAME="Zara Ali" readonly NAME NAME="Qadiri"
যার ফলে যে ফলাফল হবে তা হল,
/bin/sh: NAME:This variableis read only.
আনসেটিং চলক
কোনও চলককে আনসেট করার পর সেটিতে আর কোনও মান আরোপ করা যায় না।
নিচের উদাহরণে unset কম্যান্ড ব্যবহার করে বিবৃত চলককে আনসেট করার সিনট্যাক্স ব্যবহার করা হয়,
unset variable_name
নিচে এর একটি উদাহরণ দেয়া যাক,
#!/bin/sh
NAME="Zara Ali" unset NAME echo $NAME
চলকের প্রকারভেদ
সেল সক্রিয় থাকার সময় তিন প্রকারের চলক দেখা যায়,
- লোকাল চলক,
- এনভায়রনমেন্ট চলক,
- সেল চলক।