&&অপারেটর ব্যবহার করুন ,
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আপনার স্ক্রিপ্টে রাখার বিষয়টি বিবেচনা করুন । এটি মূলত সেমিকোলন পরিবর্তন ;মধ্যে &&, বিশেষ ক্ষেত্রে একটি দম্পতি সঙ্গে।