আপনি এর সংজ্ঞা জানতে পারেন -lt
এবং -gt
ডকুমেন্টেশন মধ্যে test
কমান্ড ( man test
), অথবা ব্যাশ ডকুমেন্টেশন মধ্যে যেহেতু test
একটি বিল্ট-ইন কমান্ড ব্যাশ মধ্যে (অন্যান্য অধিকাংশ শাঁস মত)।
-lt
এবং -gt
সংখ্যার তুলনা (কম-বেশি [এবং সমান নয়), বৃহত্তর [এবং সমান নয়]। এছাড়াও কম / বৃহত্তর-সমান অপারেটর -le
এবং -ge
, এবং সমান এবং সমান না সমান অপারেটর -eq
এবং রয়েছে -ne
। এগুলি সংখ্যাসূচক অপারেটর, সুতরাং উভয় পক্ষের একটি সংখ্যা না থাকলে এবং এর 9
চেয়ে কম বিবেচিত হলে একটি ত্রুটি হবে 10
।
নামগুলি -lt
স্বাভাবিকের চেয়ে ব্যবহৃত হওয়ার কারণটি <
হল চরিত্রটিকে <
পুনঃনির্দেশ হিসাবে ব্যাখ্যা করা হবে। অপারেটরগুলি =
এবং !=
উপস্থিত রয়েছে, তবে তারা একটি স্ট্রিং তুলনা সম্পাদন করে: test 00 -eq 0
সত্য যেখানে test 00 = 0
মিথ্যা।
বাশ সহ কয়েকটি শেলের অপারেটর রয়েছে <
এবং >
যা স্ট্রিং লিক্সোগ্রাফিক তুলনা করে, তাই test 9 \< 10
এটি মিথ্যা কারণ এর 9
আগে বাছাই করা হয় 1
(ব্যাকস্ল্যাশ অক্ষরটিকে <
পুনঃনির্দেশ অপারেটর হিসাবে ব্যাখ্যা করা থেকে বিরত করে)। এই শেলগুলি পরীক্ষার জন্য ডাবল-বন্ধনী সিনট্যাক্সও সরবরাহ করে, যেমন [[ 9 < 10 ]]
(এর বিপরীতে [ 9 \< 10 ]
), যার ভিতরে পুনর্নির্দেশগুলি থাকতে পারে না যাতে <
উদ্ধৃত করার প্রয়োজন হয় না।
echo
কোডে থাকা বিবৃতিগুলি আপনার প্রশ্নের উত্তর দেয়।