ट्यूटोरियल में और मैं-से कैसे अक्सर कमांड को संयुक्त रूप से देखता हूं। उदाहरण के लिए,
sudo apt-get update && sudo apt-get install pyrenamer
चार संभावित कनेक्टर्स होने लगते हैं: &
, &&
, ||
और ;
। हालांकि &
कनेक्टर मेरे लिए स्पष्ट है (यह पृष्ठभूमि के लिए एक प्रक्रिया भेजता है और उपलब्ध टर्मिनल को छोड़ देता है), यह स्पष्ट नहीं है कि अंतर &&
और क्या है ;
। और मुझे ||
काया की टिप्पणी तक का पता नहीं था ।
निम्नलिखित प्रश्न दो कनेक्टरों के बीच के अंतर से निपटते हैं, लेकिन ऐसा ज्यादातर टिप्पणियों में करते हैं:
तो यहाँ कई संबंधित प्रश्न हैं:
- बीच क्या अंतर है
;
और&&
? - आपको उन्हें क्रमशः कब उपयोग करना चाहिए ? कुछ उपयोग के मामलों को देखना अच्छा होगा: अगर मैं एक कमांड चलाना चाहता हूं और फिर इसके बाद अपने कंप्यूटर को बंद कर दूं, तो मुझे कौन सा कनेक्टर चुनना चाहिए?
- उनके फायदे और खतरे क्या हैं ? रोबी बसाक ने इस उत्तर के लिए एक टिप्पणी में उल्लेख किया है कि
cd /somewhere_else; rm -Rf *
यदि कमांड श्रृंखला में पहला तत्व विफल रहता है, तो उदाहरण के लिए एक कमांड जैसा विनाशकारी परिणाम हो सकता है। - यदि प्रासंगिक है, तो वे कहां से आते हैं?
set -e
से स्क्रिप्ट विफलता पर बंद हो जाएगी जैसे कि सभी आदेशों के साथ जुड़ा हुआ था &&
।
||
के रूप में ही है&&
सिवाय इसके कि यह केवल दूसरा आदेश निष्पादित करता है, तो पहले एक एक गैर शून्य (असफल) की स्थिति के साथ बाहर निकल गया।