এক্সপ্যানসন

Last updated 6 months ago

আমরা কমান্ড লিখি এবং এন্টার চাপি। শেল সেগুলোকে কার্যকর করে। কিন্তু মজার ব্যাপারটা হল, শেল হুবহু আমাদের কমান্ড কার্যকর করে না বরং অন্তর্বর্তীকালীন কিছু ধাপ সে নিজের মধ্যে অতিদ্রুত করে ফেলে। এই যে ওয়াইল্ডকার্ডের ব্যাপারটাই ধরুন না। শেলের কাছে '' চিহ্নটি নিছক একটি চিহ্ন না। আরো অনেক মানে আছে তার। এই সব মানে তৈরী হওয়া বা বোঝার জন্য শেলকে ভেঙে ভেঙে বুঝতে হয়। অর্থাৎ দুর্বল ছাত্রকে যেভাবে সরলীকৃত করে বোঝানো হয়। এই সরলীকরণ এর প্রক্রিয়াকে এক্সপ্যানসন বলা হয়। আমরা একটা উদাহরণ দেখলেই সব পরিষ্কার হয়ে যাবে। উদাহরণটায় আমরা *echo নামের একটি কমান্ড ব্যবহার করবো। এই শেল-বিল্টইন কমান্ডটি খুব সাধারণ একটা কাজ করে। এর আর্গুমেন্ট হিসেবে আপনি যা লিখবেন এটি তাই স্ক্রীনে দেখাবে। আসুন, দেখা যাক:

me@howtocode-pc:~$ echo বাঙলা আমার তৃষ্ণার জল, তৃপ্ত শেষ চুমুক...
বাঙলা আমার তৃষ্ণার জল, তৃপ্ত শেষ চুমুক...

দেখা গেলো, echo এর আর্গুমেন্ট হিসেবে আমরা যা লিখেছি সেটারই পুনরাবৃত্তি করলো কমান্ডটি। আসুন echo কে আবার ব্যবহার করে দেখি:

me@howtocode-pc:~$ echo *
8_1.pdf 8_1.pdf.aria2 AioServer3.4.2_portable AioServer3.4.2_portable.zip archives Audiobooks bin Desktop diary diary~ Documents Downloads emacs emacs.pdf get?ab=128 hfjava hfjavafinalsamples hfjavafinalsamples.zip hfpython land_of_lisp ls ls-e-books.txt ls-error.txt ls-home.txt ls-music.txt ls-output.txt ls.txt #*message*-20140827-212401# mlterm-3.3.8 mlterm-3.3.8.tar.gz Music Pictures playground playlists Podcasts Porteus-KDE-v3.0.1-i486.iso precise-5.7.1.iso precise-5.7.1.iso.aria2 Public pvim python RemoteControlServer reus sd2bk sent sh_howtocode spiral Templates test test.html test.html~ test.md TLCL-13.07.pdf txt ubuntu-gnome-14.04-desktop-amd64.iso Videos আমাদের কথা #টীসOA`#

এবার কিন্তু echo '' প্রিন্ট করেনি। বরং '' কে এক্সপ্যান্ড করে আমার কারেন্ট ওয়ার্কিং ডিরেক্টরি অর্থাৎ হোমের সকল ফাইল ও ফোল্ডারের নাম দেখিয়েছে।