பாஷ் 'வேறு என்றால்' அறிக்கை: பயிற்சி மற்றும் எடுத்துக்காட்டுகள்

நிபந்தனைக்குட்பட்ட குறியீட்டை செயல்படுத்துவதற்கு பாஷில் if...else அறிக்கையைப் பயன்படுத்துதல்.

பாஷ் (போர்ன் அகெய்ன் ஷெல்) என்பது குனு/லினக்ஸ் இயக்க முறைமைகளில் ஷெல் கட்டளை வரியில் மற்றும் ஸ்கிரிப்டிங் மொழியாகும். இது பெரும்பாலான லினக்ஸ் விநியோகங்களுக்கான இயல்புநிலை ஷெல் ஆகும்.

எந்தவொரு நிரலாக்க மொழியிலும், தொகுக்கப்பட்ட மற்றும் ஸ்கிரிப்ட் செய்யப்பட்ட நிபந்தனை அறிக்கைகள் இன்றியமையாதவை. நிரலாக்க தர்க்கத்தின் அடித்தளங்களில் ஒன்றான முன் வரையறுக்கப்பட்ட நிபந்தனையின் அடிப்படையில் ஒரு குறியீட்டை பயனர் இயக்க அனுமதிக்கின்றனர். இந்த கட்டுரையில், அதை எவ்வாறு பயன்படுத்துவது என்பதைக் கற்றுக்கொள்வோம் என்றால்...வேறு பாஷில் நிபந்தனை அறிக்கை.

அறிமுகம்

தி என்றால்...வேறு பாஷில் உள்ள அறிக்கை நிபந்தனைகளின் அடிப்படையில் குறியீட்டின் ஓட்டத்தை கையாள பயனரை அனுமதிக்கிறது. செயல்படுத்தப்பட வேண்டிய தனி குறியீடு தொகுதிகளை பயனர் குறிப்பிட முடியும், அவற்றில் ஒன்று மட்டுமே இறுதியாக இயங்கும் போது செயல்படுத்தப்படும், அது திருப்திகரமான நிபந்தனையின் அடிப்படையில்.

இரண்டுக்கும் மேற்பட்ட நிபந்தனைகள் குறிப்பிடப்படலாம் என்பதை நினைவில் கொள்ளவும் எலிஃப் அறிக்கையைப் பயன்படுத்தலாம். பயனர் எத்தனை நிபந்தனைகளை வேண்டுமானாலும் கொடுக்கலாம் எலிஃப், மற்றும் இறுதியாக ஒரு இயல்பு நிலை பயன்படுத்தி வேறு தொகுதி. கீழே உள்ள தொடரியல் மற்றும் எடுத்துக்காட்டுகளில் இதைப் பற்றி மேலும் பார்க்கலாம்.

பொது தொடரியல்

க்கான பொதுவான தொடரியல் என்றால்...வேறு பாஷில் உள்ள அறிக்கை:

அப்படியானால்  வேறு  fi

இங்கே, என்றால் திருப்திப்படுத்துகிறது, அதாவது, அது 0 (வெற்றி) ஐ வழங்கினால், குறியீடு தொகுதி 1 செயல்படுத்தப்படும். நிபந்தனை 0 ஐத் தரவில்லை என்றால், அது தோல்வி நிலையைத் தருகிறது, பின்னர் குறியீடு தொகுதி 2 செயல்படுத்தப்படும். தி என்றால்...வேறு தொகுதி a உடன் முடிவடைகிறது fi அறிக்கை.

பல நிபந்தனைகளுடன் தொடர்புடைய பல தொகுதிகளுக்கு,எலிஃப் பயன்படுத்தப்பட்டுள்ளது:

அப்படியானால்  எலிஃப் பின்னர்  எலிஃப் பின்னர்  ... ... வேறு  fi

இங்கே, நிபந்தனைகள் வரிசையில் சரிபார்க்கப்பட்டு, நிலை 0 (வெற்றி) வழங்கும் முதல் நிபந்தனையின் குறியீடு தொகுதி செயல்படுத்தப்படுகிறது. எ.கா. என்றால் பூஜ்ஜியமற்ற நிலையை (தோல்வி) வழங்கும் சரிபார்க்கப்படுகிறது. என்றால் நிலை 0 ஐ வழங்குகிறது, செயல்படுத்தப்படுகிறது. இதற்குப் பிறகு, மேலும் நிபந்தனைகள் சரிபார்க்கப்படவில்லை, மேலும் குறியீடு செயல்படுத்தல் குறியீட்டிற்குப் பிறகு தொடரும் fi அறிக்கை.

நிபந்தனைகள் எதுவும் நிலை 0 ஐ வழங்கவில்லை என்றால், மற்ற தொகுதியில் செயல்படுத்தப்படுகிறது. வேறு தொகுதி விருப்பமானது என்பதை நினைவில் கொள்ளவும். எந்த நிபந்தனையும் பூர்த்தி செய்யப்படாவிட்டால், இல்லை வேறு தொகுதி குறிப்பிடப்பட்டுள்ளது, நிபந்தனைக்குட்பட்ட குறியீடு தொகுதி எதுவும் இயங்காது, மேலும் குறியீடு செயல்படுத்தல் குறியீட்டிற்குப் பிறகு தொடரும் fi அறிக்கை, கீழே உள்ள வரைபடத்தில் காட்டப்பட்டுள்ளது.

என்பதை கவனிக்கவும் பிறகு அறிக்கை பின்னர் மட்டுமே பயன்படுத்தப்பட வேண்டும் என்றால் மற்றும் எலிஃப் அறிக்கைகள் மற்றும் பிறகு தேவையில்லை வேறு அறிக்கை.

எடுத்துக்காட்டுகள்

குறியீடு தொகுதியை இயக்க ஒரு மாறிக்கு குறிப்பிட்ட மதிப்பு இருந்தால்:

x=0 எனில் [ $x -eq 0 ] பின்னர் எதிரொலி "X இன் மதிப்பு 0" இல்லையெனில் எதிரொலி "X இன் மதிப்பு 0 அல்ல" fi

பல மதிப்புகளைச் சரிபார்க்க:

x=2 என்றால் [ $x -eq 0 ] பின்னர் எதிரொலி "X இன் மதிப்பு 0" elif [ $x -eq 1 ] பின்னர் எதிரொலி "X இன் மதிப்பு 1" elif [ $x -eq 2 ] பின்னர் எதிரொலி "மதிப்பு X என்பது 2" இல்லையெனில் எதிரொலி "X இன் மதிப்பு 0 அல்ல" fi

நிபந்தனைகள் எந்த லினக்ஸ் கட்டளைகளாகவும் இருக்கலாம். கட்டளை வெற்றிகரமாக இயங்கினால் தொடர்புடைய குறியீடு தொகுதி செயல்படுத்தப்படும்.

npm -v எனில், "NPM கணினியில் உள்ளது" என்று எதிரொலிக்கவும் இல்லையெனில் sudo apt npm fi ஐ நிறுவவும்

மேலே உள்ள எடுத்துக்காட்டில், இருந்து npm கணினியில் நிறுவப்படவில்லை, கட்டளை npm -v பூஜ்ஜியமற்ற நிலை திரும்பியது. எனவே, குறியீடு செயல்படுத்தல் உள்ளே சென்றது வேறு தொகுதி, அங்கு நாம் npm ஐப் பயன்படுத்தி நிறுவுகிறோம் பொருத்தமான தொகுப்பு மேலாளர். நாம் பார்க்க முடியும் என, அது கடவுச்சொல்லை உள்ளிட என்னை தூண்டியது மற்றும் npm இன் நிறுவலை தொடங்கியது.

இன்னொன்றையும் கூடு கட்டலாம் என்றால்...வேறு ஒரு உள்ளே தடுப்பு என்றால், வேறு அல்லது எலிஃப் தொகுதி:

x=0 y=1 எனில் [ $x -eq 0 ] பின்னர் எதிரொலி "X என்பது 0" எனில் [ $y -eq 1 ] பின்னர் எதிரொலி "Y is 1" இல்லையெனில் எதிரொலி "Y is not 1" fi இல்லையெனில் echo "X is 0" fi அல்ல

ஆரம்ப நிபந்தனை பூர்த்தி செய்யப்பட்டவுடன், தனித்தனியான நிபந்தனைகள் சரிபார்க்கப்பட வேண்டும் என்றால் இது பயனுள்ளதாக இருக்கும்.

எடுத்துக்காட்டாக, பின்வரும் குறியீடு இணைய சேவையக மென்பொருளை நிறுவ முயற்சிக்கிறது:

nginx -v என்றால் எதிரொலி "NGINX ஏற்கனவே நிறுவப்பட்டுள்ளது." sudo apt nginx ஐ நிறுவினால், "NGINX நிறுவல் வெற்றிகரமாக உள்ளது" என்று எதிரொலிக்கவும். elif sudo apt இன்ஸ்டால் apache2 பிறகு எதிரொலி "APACHE2 நிறுவல் வெற்றி." வேறு எதிரொலி "எந்த வலை மென்பொருளையும் நிறுவ முடியவில்லை." fi

Nginx ஏற்கனவே கணினியில் நிறுவப்பட்டுள்ளதா என்பதை குறியீடு முதலில் சரிபார்க்கிறது. அது இருந்தால், அது ஒரு செய்தியைக் காட்டி வெளியேறும். அது இல்லையென்றால், அது Nginx ஐ நிறுவ முயற்சிக்கிறது.

சில காரணங்களால், தொகுப்பிலிருந்து கணினியில் Nginx ஐ நிறுவ முடியவில்லை என்றால், அது Apache2 ஐ நிறுவ முயற்சிக்கிறது. Apache2 கூட நிறுவும் போது பிழையைக் கொடுத்தால், எந்த மென்பொருளையும் நிறுவ முடியாது என்ற செய்தியைக் காண்பிக்கும்.

இதேபோல், ஒரு உள்ளமைக்கப்பட்ட தொகுதியை உள்ளே பயன்படுத்தலாம் எலிஃப் அதே போல் தொகுதி.

செயல்படுத்துகிறது என்றால்...வேறு: ஸ்கிரிப்டுகள் மற்றும் கட்டளை வரி

எந்த பாஷ் குறியீட்டையும் போலவே, தி என்றால்...வேறு அறிக்கையை நேரடியாக பாஷ் ஷெல்லில் அல்லது இயங்கக்கூடிய ஷெல் ஸ்கிரிப்ட் கோப்பிலிருந்து பயன்படுத்தலாம். பாஷ் மொழிபெயர்ப்பாளர் ஒருமுறை கண்டுபிடித்தார் என்றால், வேறு அல்லது எலிஃப் கூற்று, இது பயனர் குறியீடு தொகுதிக்குள் நுழைய அனுமதிக்க ஷெல் தொடர்கிறது.

பயனர் இந்தக் குறியீட்டை ஸ்கிரிப்ட் கோப்பில் சேமித்து, ஸ்கிரிப்ட் கோப்பை இயக்கவும் முடியும்.

தி #!/பின்/பாஷ் தொடக்கத்தில் கோப்பு செயல்படுத்தப்படும் போது பயன்படுத்தப்படும் மொழிபெயர்ப்பாளரைக் குறிப்பிடுகிறது. தற்காலத்தில் பாஷ் மிகவும் பொதுவாகப் பயன்படுத்தப்படும் ஷெல் என்றாலும், சில பயனர்கள் zsh போன்ற ஷெல்களை விரும்புகிறார்கள், இது இந்தக் கோப்பின் தொடக்கத்தில் பாஷிற்குப் பதிலாக குறிப்பிடப்பட வேண்டும்.

இந்தக் கோப்பிற்கான இயக்க அனுமதிகளை வழங்க, இயக்கவும்:

chmod +x test.sh

இறுதியாக, கோப்பை இயக்க, இயக்கவும்:

./test.sh

முடிவுரை

எந்த நிரலாக்க மொழியையும் போலவே, என்றால்...வேறு அறிக்கை என்பது பாஷின் அடிப்படை அம்சமாகும். அதன் பயன்பாட்டைக் கற்றுக்கொள்வது அடிப்படை மற்றும் மேம்பட்ட ஸ்கிரிப்ட்களை எழுதுவதில் நீண்ட தூரம் செல்கிறது.