2012-02-24 12 views
6

में कमांड निकास कोड को अनदेखा कर रहा है मेरे पास पोस्टग्रेस कंसोल कमांड createdb appname_production_master है, जो इस नाम के साथ डेटाबेस पहले से मौजूद है, जो त्रुटि निकास कोड लौटाता है।लिनक्स

क्या यह आदेश किसी भी निकास कोड को वापस नहीं कर सकता है?

उत्तर

18

बस बाहर निकलने के कोड को अनदेखा करें, उदाहरण के लिए।

createdb appname_production_master || true 
+3

सच पूछिये तो, यह बाहर निकलने के कोड की अनदेखी नहीं करता है, लेकिन यह एक अभिव्यक्ति है कि हमेशा सफल होता है में इसे इस्तेमाल करता है। –

+1

"<> ||:" एक और रूप से काम करने लगता है कि, जहां पेट के अशक्त आदेश कि हमेशा सफल होता है – killthrush

1

यूनिक्स आदेश हमेशा निकास कोड लौटाते हैं, लेकिन आपको निकास कोड का जवाब नहीं देना चाहिए।

जब आप कमांड चलाते हैं $? प्रक्रिया के बाहर निकलने के कोड पर सेट होता है। इस हर आदेश के लिए होता है, बस एक अलग आदेश चलाने के बाद पहली $? बदल जाएगा।

उदाहरण के लिए:

createdb appname_production_master # returns 1, a failure code 
# $? is 1 
/bin/true # always returns 0, success 
# $? is 0 

यहाँ एक और उदाहरण है:

/bin/false # returns false, I assume usually 1 
echo $? # outputs 1 
echo $? # outputs 0, last echo command succeeded