.তিহাসিকভাবে, testকমান্ডটি প্রথমে বিদ্যমান ছিল (কমপক্ষে ১৯৯৯ সালে ইউনিক্স সপ্তম সংস্করণে ফিরে আসা )। এটা তোলে অপারেটর ব্যবহার করা =এবং !=স্ট্রিং তুলনা, এবং -eq, -ne, -lt, ইত্যাদি নম্বর মিলাতে। উদাহরণস্বরূপ, test 0 = 00মিথ্যা, তবে test 0 -eq 00সত্য। আমি জানি না কেন এই সিনট্যাক্সটি বেছে নেওয়া হয়েছিল, তবে এটি ব্যবহার এড়ানো <এবং >এই শেলটি পুনঃনির্দেশ অপারেটর হিসাবে পার্স করে থাকতে পারে। testকমান্ড কয়েক বছর পরে অন্য সিনট্যাক্স করেছেন: [ … ]সমতূল্য test …।
[[ … ]]শর্তাধীন বাক্য গঠন, যা ভিতরে <এবং >মূল্য উদ্ধৃতি ছাড়া অপারেটার হিসেবে ব্যবহার করা যাবে, পরে ksh যোগ করা হয়েছিল। এটি পিছনে সামঞ্জস্য রেখেছিল [ … ], সুতরাং এটি একই অপারেটর ব্যবহার করে তবে যুক্ত করে <এবং >স্ট্রিংগুলির তুলনা করতে (উদাহরণস্বরূপ, [[ 9 > 10 ]]তবে [[ 9 -lt 10 ]])। আরও তথ্যের জন্য দেখুন একক বা ডাবল বন্ধনী - ব্যাশ ব্যবহার করুন
পাটিগণিতের প্রকাশগুলিও testকমান্ডের চেয়ে পরে 1980 এর দশকের একসময় কর্ন শেলের মধ্যে এসেছিল । তারা সি ভাষার বাক্য গঠনটি অনুসরণ করেছিল যা ইউনিক্স চেনাশোনাগুলিতে খুব জনপ্রিয় ছিল। সুতরাং তারা সি'র অপারেটরগুলি ব্যবহার করত: ==সাম্যতার <=জন্য, কম-বা সমান ইত্যাদির জন্য etc.
ইউনিক্স সপ্তম সংস্করণে পাটিগণিতের অভিব্যক্তি ছিল না, তবে এতে exprকমান্ডটি রয়েছে , যা এর তুলনা অপারেটরগুলি সহ পূর্ণসংখ্যার ক্রিয়াকলাপগুলির জন্য সি-এর মতো সিনট্যাক্সও প্রয়োগ করেছিল। শেল স্ক্রিপ্টে, শেল থেকে রক্ষা করতে অক্ষরগুলি <এবং >উদ্ধৃতি দিতে হত, যেমন if expr 1 \< 2; …সমান if test 1 -lt 2; …। শেলের গাণিতিক এক্সপ্রেশনগুলির সংযোজন exprঅপ্রচলিত বেশিরভাগ ব্যবহার করে , তাই এটি আজকাল সুপরিচিত নয়।
কোনও শ স্ক্রিপ্টে, আপনি একটি পূর্ণসংখ্যা মান গণনা [ … ]করতে এবং পূর্ণসংখ্যার তুলনা করতে সাধারণত পাটিগণিতের এক্সপ্রেশন ব্যবহার করেন ।
if [ "$((x + y))" -lt "$z" ]; then …
কোনও ksh, bash বা zsh স্ক্রিপ্টে আপনি ((…))উভয়ের জন্য ব্যবহার করতে পারেন ।
if ((x + y < z)); then …
[[ … ]]আপনি পূর্ণসংখ্যার ছাড়া অন্য কিছু জড়িত কন্ডিশন ব্যবহার করতে চান তাহলে ফর্ম দরকারী।
= != < <= > >=স্ট্রিং তুলনা করুন ।1 -eq 01তবে1 != 01এবং8 -lt 42তবে8 > 42