10 அருமையான மற்றும் அற்புதமான பாஷ் லூப் எடுத்துக்காட்டுகள்

10 Arumaiyana Marrum Arputamana Pas Lup Etuttukkattukal



நிரலாக்க மொழியில், முக்கியமாக மூன்று வகையான சுழல்கள் உள்ளன (அதற்கு, போது, ​​மற்றும் வரை). மூன்று வகையான சுழல்களும் வெவ்வேறு வழிகளில் முக்கியமானவை. லூப்களுக்கு இடையில் மற்றும் வரைக்கும் இடையே அதிக வித்தியாசம் இல்லை, ஆனால் லூப் இந்த இரண்டிலிருந்தும் முற்றிலும் வேறுபட்டது. அதனால்தான் நீங்கள் இந்த சுழல்களைப் பயன்படுத்தி ஊடாடும் ஸ்கிரிப்ட்களை ஒரு பாஷ் பயனராக உருவாக்கலாம்.

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







10 அருமையான மற்றும் அற்புதமான பாஷ் லூப் எடுத்துக்காட்டுகள்

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



பாஷில் லூப்புடன் Seq கட்டளை

எண்களின் வரிசையை உருவாக்க for loop இல் உள்ள seq கட்டளையைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக, பின்வரும் குறியீட்டைக் கொண்ட “File.sh” என்ற பாஷ் ஸ்கிரிப்ட் உங்களிடம் உள்ளது:



#!/பின்/பாஷ்
க்கான உள்ளே $ ( தொடர் 5 இரண்டு 25 )
செய்
எதிரொலி 'எண்கள் $A உள்ளன'
முடிந்தது





டெர்மினலில் ஸ்கிரிப்டை இயக்கிய பிறகு பின்வரும் முடிவைப் பெறுவீர்கள்:

. / file.sh




லூப்பைப் பயன்படுத்தி கோப்புகளை மறுபெயரிடவும்

ஒரு பாஷ் ஸ்கிரிப்டைப் பயன்படுத்தி, பல கோப்புகளை மறுபெயரிடுவதற்கு for loops ஐப் பயன்படுத்தலாம். எடுத்துக்காட்டாக, உங்களிடம் பல .txt கோப்புகள் உள்ளன, மேலும் தற்போதைய தேதியை பெயருடன் சேர்க்க விரும்புகிறீர்கள். எனவே நீங்கள் பயன்படுத்தக்கூடிய எடுத்துக்காட்டு ஸ்கிரிப்ட் இங்கே:

#!/பின்/பாஷ்
க்கான உள்ளே $ ( ls * .txt ) ; செய்
எம்வி $A ( அடிப்படை பெயர் $A .txt ) _$ ( தேதி % % மீ % ) .txt
முடிந்தது


இப்போது, ​​நீங்கள் ஸ்கிரிப்டை இயக்கலாம், மேலும் அது தற்போதைய தேதியைச் சேர்ப்பதன் மூலம் அனைத்து .txt கோப்புகளின் பெயரையும் மாற்றும்:

. / MyFile.sh



இதேபோல், நீங்கள் ஒரு கோப்பின் நீட்டிப்புகளை ஒரு ஸ்கிரிப்ட் மூலம் மாற்றலாம். எனவே பின்வரும் ஸ்கிரிப்ட் மூலம் .txt நீட்டிப்பை .sh ஆக மாற்றுவோம்:

#!/பின்/பாஷ்
க்கான கோப்பு உள்ளே * .txt; செய்
எம்வி -- ' $ கோப்பு ' '{file%.txt}.sh'
முடிந்தது

டெர்மினலில் ஸ்கிரிப்டை இயக்கிய பிறகு, .txt கோப்புகளை விட .sh ஐப் பெறுவீர்கள்:

. / MyFile.sh


Infinite For Loop in Bash

லூப்பில் எந்த முடிவு நிலையும் வரையறுக்கப்படாதபோது, ​​அது எல்லையற்ற வளையம் எனப்படும். பாஷ் லூப்பின் இந்த எடுத்துக்காட்டில், பாஷில் உள்ள லூப்பின் எல்லையற்றதைப் பார்ப்போம். லூப்பிற்கான பின்வரும் எல்லையற்றது இரட்டை அரைப்புள்ளி (; ; ) மூலம் வரையறுக்கப்படுகிறது மற்றும் எந்த ஆரம்ப, செயல் அல்லது முடிவு பகுதிகளையும் கொண்டிருக்கவில்லை.

நீங்கள் Ctrl+C ஐ அழுத்தும் வரை அல்லது 'வெளியேறு' என்பதை உள்ளீடு செய்யும் வரை கீழே உள்ள ஸ்கிரிப்ட் தொடரும். இந்த ஸ்கிரிப்ட் உள்ளீடாக கொடுக்கப்பட்ட 10 முதல் 50 வரையிலான ஒவ்வொரு எண்ணையும் அச்சிடும். இல்லையெனில், அது 'எண் வரம்பிற்கு வெளியே உள்ளது' என்று அச்சிடப்படும்.

#!/பின்/பாஷ்
#முடிவில்லா சுழற்சி
க்கான ( ( ; ; ) )
செய்
எதிரொலி '10 முதல் 50 வரையிலான எண்ணை உள்ளிடவும்'
படி n
என்றால் [ $n == 'விட்டுவிட' ]
பிறகு
எதிரொலி 'நிறுத்தப்பட்டது'
வெளியேறு 0
இரு
என்றால் ( ( $n < 10 || $n > ஐம்பது ) )
பிறகு
எதிரொலி 'எண் வரம்பிற்கு வெளியே உள்ளது'
வேறு
எதிரொலி 'எண் $n '
இரு
முடிந்தது

மேலே உள்ள ஸ்கிரிப்ட்டில் 45 மற்றும் 23 சரியான உள்ளீடுகளை வழங்கினோம். அதன் பிறகு, 2 ஐ உள்ளீடாக அச்சிடுகிறோம், இது வெளியீட்டில் 'எண் வரம்பிற்கு வெளியே உள்ளது' என்று கூறுகிறது. அதன் பிறகு, ஸ்கிரிப்டை மூட, உள்ளீடாக வெளியேறு என்பதைத் தட்டச்சு செய்கிறோம். இங்கே நீங்கள் Ctrl+C ஐ அழுத்தி எல்லையற்ற வளையத்திலிருந்து வெளியேறலாம்.

பாஷில் மூன்று எக்ஸ்பிரஷன் லூப்

மூன்று வெளிப்பாடு வளையத்தின் பெயரிலிருந்து இது மூன்று வெளிப்பாடுகளை உள்ளடக்கியது, இது கட்டுப்பாட்டு வெளிப்பாடுகள் என்றும் அழைக்கப்படுகிறது. முதல் வெளிப்பாடு (EXP1) துவக்கி, இரண்டாவது வெளிப்பாடு (EXP2) லூப் சோதனை அல்லது நிபந்தனை, மற்றும் மூன்றாவது வெளிப்பாடு (EXP3) எண்ணும் வெளிப்பாடு/படி ஆகும். பாஷில் மூன்று வெளிப்பாடு வளையத்தை இயக்குவோம்:

#!/பின்/பாஷ்
க்கான ( ( n = 5 ; n > = 1 ; n-- ) )
செய்
எதிரொலி 'நூல் $n '
முடிந்தது

மேலே உள்ள ஸ்கிரிப்டை இயக்கும்போது, ​​பின்வரும் வெளியீட்டைப் பெறுவீர்கள்.

பல நிபந்தனைகளுடன் லூப்

பின்வரும் பாஷ் லூப் எடுத்துக்காட்டில் பல நிபந்தனைகளுடன் வரை லூப்பைப் பயன்படுத்தியுள்ளோம். இந்த ஸ்கிரிப்ட்டில், முறையே 20 மற்றும் 10 ஆகிய இரண்டு மாறிகள் 'm' மற்றும் 'n' ஆகியவற்றை எடுத்து, 15 இன் வரம்பை வைத்துள்ளோம். இங்கே நாம் 'm' மற்றும் 'n' நிபந்தனைகளை லூப்பில் ஒன்றாக இணைக்கிறோம், இதில் 'm' இன் மதிப்பு வரம்பை விட குறைவாகவும், 'n' வரம்பை விட அதிகமாகவும் இருக்கும் வரை லூப் இயங்கும்.

#!/பின்/பாஷ்
அளவு = பதினைந்து
மீ = இருபது
n = 10
வரை [ [ $மீ -எல்.டி $வரம்பு || $n -ஜிடி $வரம்பு ] ] ;
செய்
எதிரொலி 'எம் = என்றால் $மீ பின்னர் N = $n '
( ( m-- ) )
( ( n++ ) )
முடிந்தது

மேலே உள்ள ஸ்கிரிப்டை இயக்குவது “m” மற்றும் “n” மதிப்புகள் ஒரே நிலைக்கு வரும் வரை இயங்கும் என்பதை நீங்கள் பார்க்கலாம்.

கோப்பை பாஷில் படிக்கவும்

பாஷில், ஒரு கோப்பின் உள்ளடக்கங்களை நீங்கள் பல வழிகளில் படிக்கலாம். பாஷ் லூப்பின் இந்த எடுத்துக்காட்டில், கோப்பின் உள்ளடக்கங்களை கோப்பு பெயரின் மூலம் படிப்போம். கோப்பை பாஷில் படிக்க பின்வரும் ஸ்கிரிப்டைப் பயன்படுத்தலாம்:

#!/பின்/பாஷ்
எதிரொலி 'உள்ளிட்ட கோப்பின் உள்ளடக்கம்:'
போது
படி வரி
செய்
எதிரொலி $வரி
முடிந்தது < ~ஆவணங்கள் / Linuxhint.txt

மேலே உள்ள ஸ்கிரிப்டை இயக்கிய பிறகு, நீங்கள் உள்ளிட்ட கோப்பின் முழு உள்ளடக்கத்தையும் படிக்கலாம்.

ஒரு கோப்பிற்கு எழுதுதல்

டெர்மினலில் இருந்தே கோப்பைத் திருத்த, ஸ்கிரிப்ட்டில் உள்ள லூப்களைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக, எங்களிடம் txt கோப்பு “Example.txt” இருந்தால், சில தகவல்களைச் சேர்க்க விரும்பினால், பின்வரும் ஸ்கிரிப்டைப் பயன்படுத்தலாம்:


மேலே உள்ள ஸ்கிரிப்டை நீங்கள் இயக்கினால், விவரங்களை உள்ளிடுமாறு கேட்கும்:


நீங்கள் விவரங்களை உள்ளிட்டதும், கோப்பைச் சேமிக்க CTRL + D மற்றும் செயல்முறையை வெற்றிகரமாக முடிக்க CTRL + Z.

பேஷில் ஸ்டேட்மென்ட் லூப்பை உடைத்து தொடரவும்

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

#!/பின்/பாஷ்
ஒன்றில் = 16
வரை பொய்
செய்
( ( ஒன்றில் -- ) )
என்றால் [ [ $எண் - சம 13 ] ]
பிறகு
தொடரவும்
எலிஃப் [ [ $எண் - தி 4 ] ]
பிறகு
உடைக்க
இரு
எதிரொலி 'LinuxHint= $எண் '
முடிந்தது

பின்வரும் பாஷ் ஸ்கிரிப்ட்டில், “எண்” 13க்கு சமமாக இருக்கும் போது, ​​அது மீதமுள்ள லூப் பாடியைத் தவிர்த்துவிட்டு அடுத்த மறு செய்கைக்குச் செல்வதைக் காணலாம். இதேபோல், 'எண்' 4 ஐ விட குறைவாகவோ அல்லது சமமாகவோ இருக்கும்போது வளையம் உடைந்து விடும்.


மேலே உள்ள ஸ்கிரிப்ட் லூப் 15 இல் தொடங்கி, 13 இல் உடைந்து, 5 வரை தொடர்கிறது என்பதைக் காட்டுகிறது.

பாஷில் சராசரியைக் கணக்கிடுதல்

ஸ்கிரிப்டை பாஷ் லூப்பில் இயக்குவதன் மூலம் சராசரியைக் கணக்கிடலாம். இதில், பயனர் வரையறுக்கப்பட்ட வரம்பிற்குள் எண்களின் சராசரியைக் கணக்கிட முடியும். பின்வரும் ஸ்கிரிப்ட் பயனரால் வழங்கப்பட்ட உள்ளீட்டின் சராசரியைக் கணக்கிடுகிறது.

#!/பின்/பாஷ்
மதிப்பெண்கள் = '0'
சராசரி = '0'
SUM = '500'
ஒன்றில் = '5'
போது உண்மை ; செய்
எதிரொலி -என் 'உங்கள் மதிப்பெண்களை உள்ளிடவும் அல்லது நிறுத்துவதற்கு 'q' ஐ அழுத்தவும்' ; படி மதிப்பெண்கள்;
என்றால் ( ( ' $ மதிப்பெண்கள் ' < '0' ) ) || ( ( ' $ மதிப்பெண்கள் ' > '100' ) ) ; பிறகு
எதிரொலி 'உங்கள் மதிப்பெண்களை உள்ளிடவும்'
எலிஃப் [ ' $ மதிப்பெண்கள் ' == 'q' ] ; பிறகு
எதிரொலி 'சராசரி மதிப்பெண்கள்: $AVERAGE %'
உடைக்க
வேறு
SUM =$ [ $SUM + $ மதிப்பெண்கள் ]
ஒன்றில் =$ [ $NUM + 1 ]
சராசரி =$ [ $SUM / $NUM ]
இரு
முடிந்தது

உள்ளீடு வரம்பிற்குள் இல்லை என்றால், 'உங்கள் மதிப்பெண்களை உள்ளிடவும்' என்று ஒரு செய்தி அச்சிடப்படும். அனைத்து மதிப்பெண்களையும் உள்ளிட்ட பிறகு பயனர் 'q' ஐ அழுத்தினால், ஸ்கிரிப்ட் உள்ளிடப்பட்ட அனைத்து எண்களின் தோராயமான சராசரியைக் கணக்கிடுகிறது.

மேலே உள்ள ஸ்கிரிப்ட் இயங்கும் போது, ​​உங்கள் வெளியீடு இப்படி இருக்கும்.

பாஷில் கட்டளை வரி வாதங்களைப் படிக்கவும்

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

#!/பின்/பாஷ்
போது கெடோப்ட்ஸ் N:F:M: OPT
செய்
வழக்கு ' ${OPT} '
உள்ளே
என் ) பெயர் = ${OPTARG} ;;
எஃப் ) தந்தையின் பெயர் = ${OPTARG} ;;
எம் ) தாய் பெயர் = ${OPTARG} ;;
* ) எதிரொலி 'தவறானது'
வெளியேறு 1 ;;
esac
முடிந்தது
printf 'பெயர்: $பெயர் \n தந்தையின் பெயர்: $தந்தை பெயர் \n தாய் பெயர்: $தாய் பெயர் \n '

எனவே, மேலே உள்ள ஸ்கிரிப்டை ஒரு பாஷில் இயக்குவதன் மூலம், வடிவமைக்கப்பட்ட வாத மதிப்புகளை வெளியீட்டில் அச்சிடலாம்.

மடக்குதல்

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