இந்த பாடத்தில், நாம் எழுதும் பாஷ் சூழல் ஸ்கிரிப்ட்களில் If-then-Else கூற்றுகளை எவ்வாறு பயன்படுத்தலாம் என்று பார்ப்போம். If-then-Else அறிக்கைகள் சில நிபந்தனைகளை பூர்த்தி செய்யும் போது ஒரு ஸ்கிரிப்டின் செயல்பாட்டின் பாதையை வரையறுக்க ஒரு பயனுள்ள கருவியாகும். If-then-Else அறிக்கைகளுக்கான தொடரியல் என்ன என்று பார்ப்போம்:
என்றால்சில கட்டளைகள்;பிறகுபின்னர்-கட்டளைகள்;
வேறுவேறு-கட்டளைகள்;
இரு
மேலே காட்டப்பட்டுள்ள கட்டளையில், சில-கட்டளைகள் உண்மை என கண்டறியப்பட்டால் அல்லது அதன் திரும்பும் நிலை 0 என கண்டறியப்பட்டால், THEN-COMMANDS செயல்படுத்தப்படும். இது அவ்வாறு இல்லையென்றால், ELSE-COMMANDS செயல்படுத்தப்படும். சில-கட்டளைகளில், நாம் பொதுவாக சில சரம் ஒப்பீடு அல்லது முழு எண் வடிவில் மதிப்பு ஒப்பீடு செய்வோம். கோப்புகளை உள்ளடக்கிய பல செயல்பாடுகளையும் நாம் செய்யலாம். கோப்பு அடிப்படையிலான நிபந்தனைகளுடன் பணிபுரியும் போது முக்கியமாகப் பயன்படுத்தப்படும் முதன்மை கட்டளைகளின் சில உதாரணங்களைப் பார்ப்போம்:
முதன்மை | பொருள் |
---|---|
[-க்கு] | கோப்பு இருக்கும்போது உண்மையாகத் திரும்பும். |
[-b] | கோப்பு இருக்கும்போது உண்மையாகத் திரும்பும் & ஒரு சிறப்பு கோப்பு. |
[-c] | கோப்பு இருக்கும்போது உண்மையாகத் திரும்பும் & ஒரு எழுத்து சிறப்பு கோப்பு. |
[-d] | கோப்பு இருக்கும்போது உண்மையாகத் திரும்பும் & ஒரு அடைவு. |
[-மற்றும்] | கோப்பு இருக்கும்போது உண்மையாகத் திரும்பும். |
[-f] | FILE இருக்கும் போது அது உண்மையானது & வழக்கமான கோப்பு. |
[-g] | FILE இருக்கும் போது உண்மை எனத் தோன்றும் & அதன் SGID பிட் அமைக்கப்படும். |
[-h] | கோப்பு இருக்கும்போது உண்மையாகத் திரும்பும் & இது ஒரு குறியீட்டு இணைப்பாகும். |
[-k] | FILE இருக்கும் போது உண்மையாகத் திரும்பும் & அதன் ஒட்டும் பிட் அமைக்கப்படும். |
[-p] | FILE இருக்கும்போது & பெயரிடப்பட்ட குழாய் (FIFO) எனும்போது உண்மையாக இருக்கும். |
[-r] | கோப்பு இருக்கும்போது உண்மையாகத் திரும்பும் & படிக்கக்கூடியது. |
[-s] | கோப்பு இருக்கும்போது உண்மையாகத் திரும்பும் மற்றும் பூஜ்ஜியத்தை விட அதிக அளவு உள்ளது. |
[-t] | ஃபைல் டிஸ்கிரிப்டர் எஃப்டி திறந்ததும் & ஒரு முனையத்தைக் குறிக்கும் போது உண்மையாகத் திரும்பும். |
[-u] | FILE இருக்கும் போது உண்மையாகத் திரும்பும் & அதன் SUID (பயனர் ஐடி அமைக்கவும்) பிட் அமைக்கப்பட்டது. |
[-இன்] | FILE இருக்கும்போது & எழுதக்கூடியதாக இருக்கும்போது உண்மையாகத் திரும்பும். |
[-எக்ஸ்] | கோப்பு இருக்கும்போது உண்மையாகத் திரும்பும் & இயங்கக்கூடியது. |
[-O] | பயனுள்ள பயனர் ஐடிக்கு FILE இருக்கும்போது & அது சொந்தமாக இருக்கும்போது உண்மையாகத் திரும்பும். |
[-G] | FILE இருக்கும் போது உண்மையானது மற்றும் பயனுள்ள குழு ஐடிக்கு சொந்தமானது. |
[-THE] | கோப்பு இருக்கும்போது உண்மையாகத் திரும்பும் & இது ஒரு குறியீட்டு இணைப்பாகும். |
[-என்] | FILE இருக்கும்போது உண்மையாகத் திரும்பும் & கடைசியாகப் படித்ததிலிருந்து மாற்றப்பட்டது. |
[-S] | கோப்பு இருக்கும்போது & சாக்கெட்டாக இருக்கும்போது உண்மை திரும்பும். |
THEN-COMANDS மற்றும் ELSE-COMMANDS ஆகியவை எந்தவொரு செல்லுபடியாகும் யுனிக்ஸ் செயல்பாடுகளாகவோ அல்லது இயங்கக்கூடிய நிரலாகவோ இருக்கலாம். குறிப்பு பிறகு மற்றும் இரு கட்டளைகள் அரை-பெருங்குடலால் பிரிக்கப்படுகின்றன, ஏனெனில் அவை ஒரு ஸ்கிரிப்ட்டின் முற்றிலும் தனி உறுப்புகளாகக் கருதப்படுகின்றன.
If-then-வேறு எளிய உதாரணம்
If-then-Else கூற்றுகளுடன் மிக எளிய உதாரணத்துடன் நமது பாடத்தைத் தொடங்குவோம்.
இங்கே ஒரு மாதிரி நிரல்:
எங்கள் ஸ்கிரிப்டை இயக்கும்போது நாம் பார்க்கும் வெளியீடு இங்கே:
$. ifelse1.shமதிப்புகள் ஒன்றே!
$
கட்டளை வரி வாதங்களைப் பயன்படுத்துதல்
எங்கள் ஸ்கிரிப்டுகளில் கட்டளை வரி வாதங்களைப் பயன்படுத்தலாம் மற்றும் நாம் வரையறுக்கும் IF அறிக்கையில் ஒரு நிபந்தனையாக வாதங்களின் எண்ணிக்கை மற்றும் மதிப்புகளைப் பயன்படுத்தலாம். பின்வரும் உள்ளடக்கத்துடன் ஒரு உரை கோப்பை முதலில் வரையறுக்கிறோம்:
என் பெயர் லினக்ஸ்ஹிண்ட். நான் சேவையகங்களை, குறிப்பாக உபுண்டு சேவைகளை விரும்புகிறேன். அவர்கள் அப்படித்தான்
முனையம்!
இப்போது, ஒரு உரை கோப்பில் ஒரு வார்த்தை நிகழ்கிறதா இல்லையா என்பதைக் கண்டறியும் ஸ்கிரிப்டை நாம் எழுதலாம். இப்போது ஸ்கிரிப்டை வரையறுக்கலாம்:
வெளியே எறிந்தார் '$ 2 இல் $ 1 ஐக் கண்டறிதல்'பிடியில் $ 1 $ 2
என்றால் [ $? -பிறந்தது 0 ]
பிறகு
வெளியே எறிந்தார் $ 2 கோப்பில் $ 1 காணப்படவில்லை. '
வேறு
வெளியே எறிந்தார் $ 2 கோப்பில் $ 1 காணப்பட்டது. '
இரு
வெளியே எறிந்தார் 'ஸ்கிரிப்ட் முடிந்தது.'
இந்த ஸ்கிரிப்ட் மிகவும் மாறும். கட்டளை வரியிலிருந்தே தேட வேண்டிய வார்த்தையையும் கோப்பைத் தேடுவதையும் இது கருதுகிறது. இப்போது, எங்கள் ஸ்கிரிப்டை இயக்க நாங்கள் தயாராக உள்ளோம்:
. ifelse2.sh அன்பு வணக்கம். txtஇது போன்ற ஒரு வெளியீட்டை நாம் பார்ப்போம்:
அன்பைக் கண்டறிதல்இல்வணக்கம். உரைகாதல் கிடைத்ததுஇல் கோப்புவணக்கம். உரை.
ஸ்கிரிப்ட் முடிந்தது.
கட்டளை வரி வாதங்களின் எண்ணிக்கையை சரிபார்க்கிறது
ஒரு ஐஎஃப் அறிக்கையின் உள்ளே, எத்தனை கட்டளை வரி வாதங்கள் கட்டளைக்கு அனுப்பப்பட்டன என்பதை நாம் சரிபார்க்கலாம், இதனால் நாம் அதன்படி செயல்பட முடியும்:
எண்ண=$ #என்றால் [ ! $ எண்ணிக்கை -ஜிடி 1 ]
பிறகு
வெளியே எறிந்தார் 'போதுமான வாதங்கள் இல்லை'
வேறு
வெளியே எறிந்தார் 'நல்ல வேலை!'
இரு
இந்த ஸ்கிரிப்டை இப்போது இயக்குவோம், பின்வரும் வெளியீட்டைப் பார்ப்போம்:
If-then-Elif-El Statements
நாம் வரையறுத்த கட்டளைகளைச் செயல்படுத்த எங்கள் நிரல் எடுக்கும் முடிவு பாதையைக் குறைக்க ஒரே தொகுதியில் பல IF அறிக்கைகளையும் நாம் பெறலாம். எங்கள் ஸ்கிரிப்ட்களில் பல IF அறிக்கைகளை வரையறுக்க தொடரியல் இங்கே:
என்றால்சோதனை-கட்டளைகள்;பிறகு
முடிவு-கட்டளைகள்;
எலிஃப்
மற்றொரு கட்டளைகள்;
பிறகு
மற்றொரு முடிவு-கட்டளைகள்;
வேறு
மாற்று-கட்டளைகள்;
இரு
இது மிகவும் பழக்கமானதாக தோன்றுகிறது மற்றும் பின்தொடர்வது எளிது. மரம் எவ்வாறு செயல்படுகிறது என்பதை நிறுவ ஒரு எளிய உதாரணத்தை வரையறுப்போம்:
எண்ண=$ #என்றால் [ $ எண்ணிக்கை -எக்யூ 1 ]
பிறகு
வெளியே எறிந்தார் 'ஒரே ஒரு வாதம் கிடைத்தது.'
எலிஃப் [ $ எண்ணிக்கை -எக்யூ 2 ]
பிறகு
வெளியே எறிந்தார் 'சிறந்தது, இரண்டு வாதங்கள் கண்டுபிடிக்கப்பட்டன.'
வேறு
வெளியே எறிந்தார் 'நல்ல வேலை, பல வாதங்கள் கண்டுபிடிக்கப்பட்டன!'
இரு
இந்த கட்டளையுடன் நாம் திரும்பப் பெறுவது இங்கே:
கேஸ் ஸ்டேமென்ட்களைப் பயன்படுத்துதல்
IF-ELSE அறிக்கைகள் நீங்கள் முடிவு செய்ய வேண்டிய விருப்பங்களின் பெரிய பட்டியலைக் கொண்டிருக்கும் போது பயனுள்ளதாக இருக்கும். ஆனால் நீங்கள் ஒரு செயலைச் செய்ய விரும்பினால், சில முடிவுகளுடன் சரியாகப் பொருந்தினால், நாங்கள் பாஸ் ஸ்கிரிப்ட்களிலும் CASE அறிக்கைகளைப் பயன்படுத்தலாம். அதன் தொடரியல் இதுபோல் தெரிகிறது:
வழக்குவெளிப்பாடுஇல்CASE1)கமாண்ட்ஸ்-டு-எக்ஸெக்யூட்;CASE2)கமாண்ட்ஸ்-டு-எக்ஸெக்யூட்;
CASE2)கமாண்ட்ஸ்-டு-எக்ஸெக்யூட்;
...)கமாண்ட்ஸ்-டு-எக்ஸெக்யூட்;
*)கமாண்ட்ஸ்-டு-எக்ஸெக்யூட்;
எசாக்
கடைசி வழக்கு * இயல்புநிலையாக செயல்படுகிறது மற்றும் மேலே வரையறுக்கப்பட்ட வழக்குகள் எதுவும் பொருந்தவில்லை என கண்டறியப்படும் போது செயல்படுத்தப்படும்.
CASE அறிக்கைகளைப் பயன்படுத்தி ஒரு எளிய உதாரணத்தை விரைவாக உருவாக்குவோம்:
வழக்கு '$ 1' இல்1)
வெளியே எறிந்தார் 'மதிப்பு 1.'
;;
2)
வெளியே எறிந்தார் 'மதிப்பு 2.'
;;
3)
வெளியே எறிந்தார் 'மதிப்பு 3.'
;;
*)
வெளியே எறிந்தார் 'மற்ற மதிப்பு கடந்துவிட்டது.'
எசாக்
ஒவ்வொரு CASE அறிக்கையும் முடிவடைகிறது ;; (இரட்டை அரை பெருங்குடல் மதிப்பெண்கள்). இந்த கட்டளையுடன் நாம் திரும்பப் பெறுவது இங்கே:
முடிவுரை
இந்த பாடத்தில், பாஷ் ஸ்கிரிப்ட்களில் IF-ELSE, IF-THEN-ELIF மற்றும் CASE அறிக்கைகளை எவ்வாறு பயன்படுத்துவது என்பதை நாங்கள் பார்த்தோம். அளவுருக்கள்.