मेरे पास निम्नलिखित के साथ एक bash स्क्रिप्ट है:
#!/bin/bash -e
egrep "^username" /etc/passwd >/dev/null
if[ $? -eq 0 ]
then
echo "doesn't exist"
fi
-ई के बिना यह स्क्रिप्ट नहीं चलेगी। -eइस स्क्रिप्ट के लिए क्या करता है ? इसके अलावा, $?इस संदर्भ में क्या करता है?
-eतहत प्रलेखित है set।
if egrep -q "^username" /etc/passwd ; then echo "doesn't exist" ; fi
ifऔर [। यह स्क्रिप्ट साथ काम नहीं करेगी -e, क्योंकि अगर grepकुछ भी नहीं मिला तो -eस्क्रिप्ट के तहत वहीं समाप्त हो जाएगा। इसके बिना -e, आपको संदेश पीछे की ओर मिला है: $?0 की स्थिति ( ) का अर्थ है कि grep ने उपयोगकर्ता को ढूंढ लिया है। ध्यान दें कि यह `grep '^ उपयोगकर्ता नाम होना चाहिए:' 'वैसे, (यदि नाम के साथ कोई अन्य उपयोगकर्ता है तो क्या होगा?)।
#/bin/bash -eके समान प्रभाव होगा ? #/bin/bashset -e
-eआदमी पेज में (मैं वास्तव में एक जवाब पता इस देखना चाहते हैं)।$?अंतिम निकास कोड होता है (egrepऊपर दी गई प्रक्रिया का)।