&& হ'ল যৌক্তিক AND: এবং& লজিকাল অ্যান্ড
প্রকাশ করার একটি উপায় যা এর উভয় পক্ষই সত্য হয় তবেই সম্পূর্ণ অভিব্যক্তিটি সত্য। যুক্তি হিসাবে এটি সম্পূর্ণ বিবৃতি (পিএন্ডকিউ) কেবল তখনই সত্য হয় যখন পি এবং কিউ উভয়ই সত্য হয়।
এর ফলস্বরূপ, কম্পিউটারগুলি সাধারণত পি ও কিউকে একটি শর্ট সার্কিট মূল্যায়ন হিসাবে বিবেচনা করে । সুতরাং যেহেতু পুরো বিবৃতিটি কেবলমাত্র সত্য হবে যদি পি এবং কিউ উভয়ই সত্য হয়, তবে পি যদি মিথ্যা হয় তবে বিবৃতি Q এর মূল্যায়ন হয় না । মূলত কম্পিউটারগুলি অলস (দক্ষ), এবং কিউ না থাকলে Q মূল্যায়ণ করতে বিরক্ত করবেন না। এটি লজিক্যাল OR এর ক্ষেত্রেও সত্য, আগের লিঙ্কটি দেখুন।
বাশের মধ্যে তিনটি বিষয়বস্তু:
1) একটি কমান্ডের প্রস্থান স্থিতির সাথে শর্ট সার্কিট মূল্যায়ন ব্যবহার:
প্রতিটি কমান্ডের একটি প্রস্থান স্থিতি থাকে। যদি কোনও কমান্ডের ত্রুটি থাকে তবে এর একটি প্রস্থান স্থিতি থাকে যা শূন্য নয়। সুতরাং যদি প্রস্থান স্থিতি শূন্য হয় না এবং && এর সাথে একটি বিবৃতিতে শৃঙ্খলাবদ্ধ শৃঙ্খলা ব্যবহার করা হয়, তবে পূর্ববর্তীগুলির 0 (সত্য) এর প্রস্থান স্থিতি না থাকলে পরবর্তী কমান্ডগুলির মূল্যায়ন (সম্পাদিত) করা হবে না। এটি শর্ট সার্কিট মূল্যায়নের কারণে। সুতরাং আপনার যদি:
P && Q
পি সত্য না হলে Q কার্যকর করা হবে না (পি যদি 0 এর বাইরেও কোনও কিছুর স্ট্যাটাস নিয়ে বের হয় তবে এটি সত্য নয়)। ঠিক তেমন:
./configure && make
কনফিগারটিতে ত্রুটি থাকলে মেকটি কার্যকর করা হবে না, সত্য ছিল না। সুতরাং মূলত, তারপরে লেখার একটি উপায় হয়ে শেষ হয় যদি বিবৃতি:
if ./configure ; then
make
fi
মনে রাখবেন তবে বেশিরভাগ প্রসঙ্গে 0 টি মিথ্যা, তবে এটি যখন প্রস্থান স্থিতি আসে তখন নয়।
2) বাশ-এর নির্মিত [[]] পরীক্ষা কমান্ডে && ব্যবহার করা যেতে পারে:
বাশ [[]] -তে অন্তর্নির্মিত পরীক্ষা কমান্ডের অভ্যন্তরেও কম্যান্ডের সংমিশ্রণের মতো একই ফ্যাশনে ভাবটি একত্রিত করতে && ব্যবহার করা যেতে পারে। পুরো পরীক্ষার অপারেশনটি কেবল তখনই সত্য হবে যদি && এর উভয় অপারেশন (পক্ষ) সত্য হয়, উদাহরণস্বরূপ:
if [[ ( $a -gt 2 ) && ( $a -lt 5 ) ]]; then ...
saying a 2 এবং 5 (2 এবং 5 সহ নয়) এর মধ্যে একটি পূর্ণসংখ্যা হলে এটি বলার উপায় way
3) পাটিগণিত মূল্যায়ন:
অবশেষে, && লজিকাল এ্যান্ড হিসাবে পাটিগণিত মূল্যায়নে ব্যবহৃত হতে পারে। নিম্নলিখিত সংখ্যার উভয় (লজিক্যাল এআ্যান্ড) যদি শূন্য হয় না তবে এটি 0 প্রদান করে, অন্যথায় 1 টি ফিরে আসে:
kbrandt@desktop:~/$ echo $((1 & 1))
1
kbrandt@desktop:~/$ echo $((0 && 1))
0