Bash Scripting परिचय
Alex Scriven
Data Scientist
जब कई या जटिल कंडीशन्स हों, तो CASE स्टेटमेंट्स अक्सर IF से बेहतर होते हैं।
मान लीजिए आप ये कंडीशन्स और एक्शन्स टेस्ट करना चाहते हैं:
sydney हो तो उसे /sydney डायरेक्टरी में मूव करेंmelbourne या brisbane हो तो उसे डिलीट करेंcanberra हो तो उसका नाम IMPORTANT_filename कर दें, जहाँ filename ओरिजिनल नाम थाआप कई IF स्टेटमेंट्स ऐसे लिख सकते हैं:
grep चलाता है।if grep -q 'sydney' $1; then
mv $1 sydney/
fi
if grep -q 'melbourne|brisbane' $1; then
rm $1
fi
if grep -q 'canberra' $1; then
mv $1 "IMPORTANT_$1"
fi
PATTERN के लिए regex इस्तेमाल कर सकते हैं। जैसे 'Air' मतलब 'Air से शुरू', या `hat*` मतलब 'hat शामिल है'।बेसिक CASE स्टेटमेंट फॉर्मेट:
case 'STRINGVAR' inPATTERN1) COMMAND1;; PATTERN2) COMMAND2;;
*) DEFAULT COMMAND;;
esac आखिर में फिनिशिंग वर्ड 'esac' होता है
बेसिक CASE स्टेटमेंट फॉर्मेट:
case 'STRING' in PATTERN1) COMMAND1;; PATTERN2) COMMAND2;;*) DEFAULT COMMAND;;esac
हमारा पुराना IF स्टेटमेंट:
if grep -q 'sydney' $1; then
mv $1 sydney/
fi
if grep -q 'melbourne|brisbane' $1; then
rm $1
fi
if grep -q 'canberra' $1; then
mv $1 "IMPORTANT_$1"
fi
हमारा नया CASE स्टेटमेंट:
case $(cat $1) in*sydney*) mv $1 sydney/ ;; *melbourne*|*brisbane*) rm $1 ;; *canberra*) mv $1 "IMPORTANT_$1" ;;*) echo "No cities found" ;; esac
Bash Scripting परिचय