# প্যারামিটার এক্সপ্যানসন

প্যারামিটার এক্সপ্যানসন(parameter expansion) নিয়ে আমরা শেল স্ক্রিপ্টিং এর সময় বিস্তারিত আলোচনায় যাবো এখন প্রাথমিক ধারনাটা রাখা যাক।

প্রথমে জানা দরকার ভেরিয়েবল কি। যারা প্রোগ্রামার তারা অবশ্য আগে থেকেই জানেন। সহজভাষায় আপনি ভেরিয়েবলকে একটা বাক্স বলতে পারেন যেখানে তথ্য রাখতে পারেন, পরিবর্তন করতে পারেন। আর হাজার হাজার বাক্সের ভীড়ে আপনার বাক্সটি খুঁজে পেতে আপনি একটা নাম দিয়েছেন বাক্সের। এটাই ভেরিয়েবল। একটা নাম এবং তার সাথে পরিবর্তনযোগ্য কিছু তথ্য। পরিবর্তনযোগ্য না হলে কিন্তু সেটা আর ভেরিয়েবল থাকবে না। কন্সট্যান্ট হয়ে যাবে।

সিস্টেম চালু থাকাকালীন বেশকিছু তথ্য এমনি করে বিভিন্ন ভেরিয়েবলে সিস্টেম সংরক্ষণ করে। এই সব ভেরিয়েবলগুলোকে সিস্টেম প্যারামিটার বলে।

আপনি যখন শেলে কোনো শব্দের আগে '$' চিহ্ন দেবেন শেল সেটাকে ভেরিয়েবল হিসেবে বিবেচনা করবে। যেমন, USER নামের ভেরিয়েবলটি যেটি কিনা বর্তমান ব্যবহারকারীর ইউজারনেম সংরক্ষণ করে, সেটি এক্সপ্যান্ড করে echo কমান্ডে পাঠাতে গেলে আপনাকে লিখতে হবে:

```
me@howtocode-pc:~$ echo $USER
me
```

আপনি চাইলে সকল এনভায়রনমেন্ট ভেরিয়েবলের লিস্ট দেখতে পারেন **printenv** কমান্ড দিয়ে।
