जवाबों:
;
सिर्फ एक-दूसरे आदेश अलग करती है। यह &&
कहता है कि यदि पिछले सफल था, तो केवल निम्न कमांड चलाएँ
cd /home; ls -al
यह होगा cd /home
और यहां तक कि अगर cd
कमांड विफल रहता है ( /home
मौजूद नहीं है, तो आपके पास इसे ट्रैवस करने की अनुमति नहीं है, आदि), यह चलेगा ls -al
।
cd /home && ls -al
यह केवल चलेंगे ls -al
अगर cd /home
सफल रहा था।
a && b
यदि कोई शून्य निकास कोड देता है, तो b को निष्पादित किया जाता है।
a || b
यदि कोई गैर-शून्य निकास कोड लौटाता है, तो b को निष्पादित किया जाता है।
a ; b
a को निष्पादित किया जाता है और फिर b को निष्पादित किया जाता है।
cd /fakedir; ls -al
चलाता ls
मौजूदा निर्देशिका में क्योंकि cd /fakedir
असफल हो जायेगी और खोल से बाहर निकलें स्थिति है कि शून्य नहीं है पर ध्यान नहीं देगा।
cd /fakedir && ls -al
क्योंकि &&
ऑपरेटर केवल तभी जारी रहेगा जब पिछली कमांड सामान्य रूप से बाहर हो गई (शून्य की स्थिति), कोई ls
ऑपरेशन नहीं किया जाएगा।
अन्य ऑपरेटर हैं, जैसे कि &
एक प्रक्रिया की पृष्ठभूमि। जबकि अक्सर एक कमांड के अंत में रखा जाता है, इसे एक श्रृंखला के बीच में रखा जा सकता है।
;
एक बहुत खतरनाक (कम से कम rm कमांड के साथ), उदाहरण के लिए हैcd /some/dir; rm -fr ./*
। तो इस तरह के विनाशकारी ऑपरेशन के साथ आपको यह सुनिश्चित करना चाहिए कि आप आरएम निष्पादित करने से पहले सही जगह पर हैं। सही आज्ञा हैcd /some/dir && rm -fr ./*