লিনাক্স ব্যাশে অ্যাম্পারস্যান্ড এবং সেমিকোলনের মধ্যে পার্থক্য কী ?
উদাহরণ স্বরূপ,
$ command1 && command2
বনাম
$ command1; command2
লিনাক্স ব্যাশে অ্যাম্পারস্যান্ড এবং সেমিকোলনের মধ্যে পার্থক্য কী ?
উদাহরণ স্বরূপ,
$ command1 && command2
বনাম
$ command1; command2
উত্তর:
&&যদি বাম পাশে একটি নন-জিরো প্রস্থান অবস্থা, অপারেটর আয় যে অবস্থা ফেরৎ এবং ডান পাশে (এটা স্বল্প সার্কিট) নির্ণয় করা হয় না অন্যথায় এটি ডান দিকে মূল্যায়ণ এবং তার প্রস্থানের অবস্থা ফেরৎ: অপারেটর একটি বুলিয়ান AND দেয়া হয় । এটি সফলভাবে command2চালানো হলে কেবল চালানো হয় তা নিশ্চিত করতে এটি ব্যবহৃত হয় command1।
;টোকেন শুধু কমান্ড আলাদা, তাই এটি দ্বিতীয় কমান্ড হোক বা না হোক প্রথম এক সফল নির্বিশেষে চালানো হবে।
&&একটি একক এম্পারস্যান্ড থেকে পৃথক &?
&কমান্ডটি পটভূমিতে চালিত করার কারণ হয়ে গেছে, তাই হ্যাঁ। "এটি ব্যাকগ্রাউন্ডে চালান" "এই পরবর্তী কমান্ডটি চালান কেবল তখনই যদি এই অন্যটি সফল হয় তবে এটির চেয়ে আলাদা"।
command1 && command2কার্যকরভাবে command2(এবং শুধুমাত্র যদি) command1কার্যকর হয় তবে কার্যকর হয়। ইউনিক্স জারগনে, এর অর্থ শূন্যের সমান প্রস্থান কোড / রিটার্ন কোড ।
command1; command2ক্রমান্বয়ে command2কার্যকর করার পরে নির্বাহ করে command1। কমান্ডগুলি সফল হয়েছিল কিনা তা বিবেচ্য নয়।
পূর্বেরটি একটি সাধারণ যুক্তিযুক্ত AND শর্ট সার্কিট মূল্যায়ন ব্যবহার করে , দ্বিতীয়টি কমান্ডটি সীমাবদ্ধ করে দেয়।
বাস্তবে যা ঘটে তা হ'ল প্রথম প্রোগ্রামটি যখন ননজারো প্রস্থান কোড ফেরত দেয় তখন পুরোটির ANDমূল্যায়ন করা হয় FALSEএবং দ্বিতীয় কমান্ড কার্যকর করা হবে না। পরে কেবল তাদের দু'জনকেই যথাযথভাবে কার্যকর করে।