true
বোর্ন শেল মধ্যে নির্মিত হয় নি। :
সর্বদা ছিল ( #
পরিচয় করার আগে মন্তব্য প্রবেশ করার উপায় এটি ছিল )।
এটি, এবং এটি টাইপ করা সংক্ষিপ্ত কারণ সম্ভবত লোকেরা :
বেশি পছন্দ করেন true
।
পসিএক্স শেলের আরও একটি পার্থক্য লক্ষ্য করুন ( bash
কেবলমাত্র পসিক্স মোডে): যদিও true
একটি নিয়মিত বিল্টিন (এমনকি বিল্টিনও তৈরি করতে হয় না), :
এটি একটি বিশেষ বিল্টিন। এর কয়েকটি নিদর্শন রয়েছে, যার বেশিরভাগেরই এই বিশেষ ক্ষেত্রে কোনও প্রভাব পড়ার সম্ভাবনা নেই:
কোনও :
কমান্ড যদি ব্যর্থ পুনঃনির্দেশের কারণে ব্যর্থ হয় তবে শেলটি প্রস্থান করতে পারে। অনুশীলনে, আপনি পুনর্নির্দেশগুলি পাস না করা হলে সম্ভবত এটি কোনও পার্থক্য করবে না:
$ sh -c ': > / ; echo HERE'
sh: 1: cannot create /: Is a directory
$ sh -c 'true > /; echo HERE'
sh: 1: cannot create /: Is a directory
HERE
ইন var=value :
, রিটার্ন পরে var
সেট করা থাকে না ক্ষেত্রে :value
:
true
$ var=1; var=2 : ; echo "$var"
2
$ var=1; var=2 true; echo "$var"
1
এছাড়াও লক্ষ করুন যে পরিবার এবং পরিবারের || true
শেলগুলিতে কাজ করে তবে তা নয় (তবে এটি বাতিল করতে হবে না )।rc
csh
|| :
set -e
csh
|| :
যেমন হয় না :
। এর অর্থ বা :
অন্যথায় চালানো (এটি পূর্ববর্তী পাইপলাইন ব্যর্থ হলে)।
set -e
false
শেলটির কারণে বেরিয়ে আসার কারণ হবে set -e
এবং false
এর শূন্য-বহির্ভূত (ব্যর্থতা) প্রস্থান স্থিতি রয়েছে। set -e
প্রভাব বাতিল করা হয়েছে যদি কমান্ড যে আয় একটি নন-জিরো প্রস্থান অবস্থা একটি হিসাবে ব্যবহার করা হয় এই শর্তে মত:
if false; then ...
while false; do ...
false && : ...
false || : ...
false && :
শুধুমাত্র বাতিল set -e
। false || :
বাতিল করা set -e
এবং প্রস্থান স্থিতি সেট করে 0
তাই এটি কমান্ডের একটি ব্যর্থতার প্রস্থান কোডটিকে উপেক্ষা করতে চাই তা বলার অপেক্ষা রাখে না id বেশিরভাগ লোক যুক্তি দেখান যে || true
আরও সুগঠিত (উদ্দেশ্যটি আরও স্পষ্টভাবে জানায়)।
||:
(কোনও স্থান ছাড়াই) ব্যাশেও বৈধ। এটি হিসাবে|| :
বা একই জিনিস করে|| true
।