আমি এই বাশ শেল স্ক্রিপ্টিং গাইড অনুসরণ করছি:
সংখ্যার তুলনা বিভাগে এটি একটি উদাহরণ তুলে ধরেছে:
anny > num=`wc -l work.txt`
anny > echo $num
201
anny > if [ "$num" -gt "150" ]
More input> then echo ; echo "you've worked hard enough for today."
More input> echo ; fi
উপরে যা ঘটছে বলে মনে হচ্ছে তা হল আমরা একটি ব্যাশ ভেরিয়েবলের কমান্ডের একটি স্ট্রিং সংরক্ষণ করি এবং তারপরে আমরা ভেরিয়েবলের প্রতিধ্বনি প্রার্থনা করি। যা ঘটবে বলে মনে হচ্ছে তা হল স্ট্রিংটি মূল্যায়ন করা হয় এবং ডাব্লুসি কমান্ড কার্যকর করা হয় এবং লাইন গণনাটি নিয়ন্ত্রণকারী টার্মিনালে ফেরত দেয়।
ঠিক আছে, তাই আমি আমার টার্মিনালটি উবুন্টু 12.04 এ চালু করব এবং অনুরূপ কিছু চেষ্টা করব:
$ touch sample.txt && echo "Hello World" > sample.txt
$ cat sample.txt
Hello World
$ num='wc -l sample.txt'
echo $num
wc -l sample.txt
এক সেকেন্ড অপেক্ষা করুন, যা স্ট্রিংকে মূল্যায়ন করে না এবং লাইন গণনাটি ফেরত দেয়। এটি কেবল টার্মিনালের কাছে স্ট্রিং প্রতিধ্বনি করেছিল। কেন আমি আলাদা ফলাফল পেয়েছি?
wc -l work.txt
, এর পরিবর্তে এটি সংখ্যা 201. নিয়োগ হচ্ছে