&&
অপারেটর ব্যবহার করুন ,
cmd1 && cmd2 && cmd3
শেলস স্ক্রিপ্টিং এ &&
এবং ||
অপারেটরগুলি সি এর লজিকাল অপারেটরগুলির অনুকূলিতকরণ বাস্তবায়নের পরে মডেল করা হয় &&
যার অর্থ এবং অপারেটর এবং এর ||
অর্থ ওআর। ইউনিক্স সি এর সাথে দৃly়ভাবে সম্পর্কিত, এবং সিতে লজিকাল অপারেটরগুলির দ্বিতীয় অপারেন্ডটি যদি প্রথম অপারেন্ড থেকে ফলাফল ইতিমধ্যে জানা যায় তবে তা মূল্যায়ন করা হয় না। উদাহরণস্বরূপ "false && x"
যে কোনওর false
জন্য x
, তাই মূল্যায়ন করার প্রয়োজন নেই x
(বিশেষত যদি x
কোনও ফাংশন কল হয়); একইভাবে জন্য "true || x"
। একে সংক্ষিপ্ত-সার্কিট শব্দার্থবিদ্যাও বলা হয় ।
এবং ইউনিক্সে, কমান্ডের রিটার্ন মানগুলিকে "সফল সমাপ্তি" সত্যের মান হিসাবে ব্যাখ্যা করা প্রচলিত: প্রস্থান কোড 0 এর অর্থ true
(সাফল্য), ননজারো মানে false
(ব্যর্থতা)। সুতরাং, যখন প্রথম কমান্ড cmd1 && cmd2
রিটার্নে হয় "false"
(ননজারো প্রস্থান স্থিতি, যা ব্যর্থতা নির্দেশ করে), তখন যৌগিক কমান্ডের স্থিতিটি জানা যায়: ব্যর্থতা। সুতরাং সামগ্রিক ব্যাখ্যা cmd1 && cmd2
হতে পারে: "কার্যকর করুন cmd1
, এবং তারপরে এটি ব্যর্থ না হলে cmd2
" " মূলত আপনার প্রশ্নের মধ্যে যা আপনি চান তা।
একইভাবে ওআর: এর সাথে cmd1 || cmd2
"এক্সিকিউট cmd1
, বা এটি যদি ব্যর্থ হয়" হিসাবে ব্যাখ্যা করা যায় cmd2
।
প্রতিবাদ: দীর্ঘ শৃঙ্খলার জন্য &&
, set -e
আপনার স্ক্রিপ্টে রাখার বিষয়টি বিবেচনা করুন । এটি মূলত সেমিকোলন পরিবর্তন ;
মধ্যে &&
, বিশেষ ক্ষেত্রে একটি দম্পতি সঙ্গে।