এই প্যাটার্নটির কারণ হ'ল ডেবিয়ান প্যাকেজগুলির রক্ষণাবেক্ষণকারী স্ক্রিপ্টগুলি শুরু হয় set -e
, যার ফলে কোনও কমান্ড (কঠোরভাবে বলা, পাইপলাইন, তালিকা বা যৌগিক কমান্ড) অ-শূন্য স্থিতি ছাড়ার সাথে সাথে শেলটি বেরিয়ে যায়। এটি নিশ্চিত করে যে ত্রুটিগুলি জমা না হয়: কিছু ভুল হওয়ার সাথে সাথে স্ক্রিপ্টটি বাতিল হয়ে যায়।
স্ক্রিপ্টের একটি কমান্ড ব্যর্থ হওয়ার অনুমতি দেওয়া হয়েছে || true
এমন ক্ষেত্রে, ফলাফলটি যৌগিক কমান্ড সর্বদা শূন্যের স্থিতিতে উপস্থিত থাকে তা নিশ্চিত করে, যাতে স্ক্রিপ্টটি বাতিল না করে। উদাহরণস্বরূপ, ডিরেক্টরি সরানো কোনও মারাত্মক ত্রুটি হওয়া উচিত নয় (প্যাকেজটি অপসারণ থেকে রোধ করা); সুতরাং আমরা ব্যবহার করব
rmdir ... || true
যেহেতু rmdir
ত্রুটিগুলি উপেক্ষা করতে বলার কোনও বিকল্প নেই।
||:
লেখার এই (আরেকটি কথ্য উপায়:
নির্দেশিত builtin টেবিল অন্য এন্ট্রি হচ্ছেtrue
কিন্তু - নিশ্চিত একটি builtin এমনকি ফিরে বোর্ন হতে; যে বলেন, POSIX SH জন্য,true
একইভাবে একটি builtin হতে নিশ্চিত করা হয় - তাই এটা সম-দূরবর্তী-আধুনিক সময়ে দক্ষতার চেয়ে বেশি তীক্ষ্ণতা)।