ইউনিক্সঃ সেল ভেরিয়েবল বা চলক ব্যবহার করা (Unix – Using Shell Variables)

রিদওয়ান বিন শামীম

 

ভেরিয়েবল বা চলক একপ্রকারের ক্যারেক্টার স্ট্রিং যেটিতে আমরা মান আরোপ করি। এই মান সংখ্যা, টেক্সট, ফাইলনেম, ডিভাইস বা যেকোনো ডাটাও হতে পারে। চলক আসলে মূল ডাটার নির্দেশক বই কিছু নয়।

 

চলকের নাম

চলকের নাম অক্ষর, সংখ্যা বা আন্ডারস্কোর বিশিষ্ট হতে পারে। ইউনিক্স সেল চলকের নাম বড় হাতের অক্ষরের হয়।

নিচের উদাহরণ চলকের গ্রহণযোগ্য উদাহরণ


_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

 

চলকের প্রকারভেদ

সেল সক্রিয় থাকার সময় তিন প্রকারের চলক দেখা যায়,

  • লোকাল চলক,
  • এনভায়রনমেন্ট চলক,
  • সেল চলক।

 

Permanent link to this article: http://bangla.sitestree.com/%e0%a6%87%e0%a6%89%e0%a6%a8%e0%a6%bf%e0%a6%95%e0%a7%8d%e0%a6%b8%e0%a6%83-%e0%a6%b8%e0%a7%87%e0%a6%b2-%e0%a6%ad%e0%a7%87%e0%a6%b0%e0%a6%bf%e0%a7%9f%e0%a7%87%e0%a6%ac%e0%a6%b2-%e0%a6%ac%e0%a6%be/

Leave a Reply