[ $Server_Name=1 ]
উদ্দেশ্যে হিসাবে কাজ করে না কারণ একক বন্ধনী মধ্যে সিনট্যাক্স বাশ জন্য বিশেষ নয়। যথারীতি, চলকটি $Server_Name
1 দ্বারা প্রতিস্থাপিত হয়, সুতরাং সমস্ত পরীক্ষা ( [
) কমান্ডটি দেখায় এটি একটি একক যুক্তি: স্ট্রিং 1=1
। যেহেতু এই স্টিংয়ের শূন্য-দৈর্ঘ্য দৈর্ঘ্য নেই তাই পরীক্ষার সত্যটি ফিরে আসে ।
পসিক্স-কমপ্লায়েন্ট শেলগুলির জন্য, আপনি নিম্নলিখিত পরীক্ষার আদেশগুলি ব্যবহার করতে পারেন :
[ "$Server_Name" = 1 ]
চেকগুলি $Server_Name
স্ট্রিংয়ের সমান 1
।
[ "$Server_Name" -eq 1 ]
চেকগুলি সংখ্যার$Server_Name
সমান , অর্থাত্ এটি স্ট্রিং তুলনার পরিবর্তে একটি সংখ্যাসূচক তুলনা করে। 1
দুটি কমান্ডের রিটার্ন মান পৃথক হবে, উদাহরণস্বরূপ, আপনি যদি সংজ্ঞা দেন তবে Server_Name=01
। প্রথমটি মিথ্যা ফিরে আসবে, দ্বিতীয়টি সত্যে ফিরে আসবে।
মনে রাখবেন যে যদি সম্ভাবনাটি বিদ্যমান থাকে যে ভেরিয়েবলটি $Server_Name
অপরিজ্ঞাত হয় তবে অবশ্যই এটি উদ্ধৃত করা উচিত বা পরীক্ষার সময় একটি ত্রুটি প্রদর্শিত হবে inv
if [ ! "x$var" = "x" ]; then\n if [ $var -eq 1 ]; then ...