எப்படி பாஷ் எழுதலாம்-சுழல்கள்

கட்டளைகள், தொடரியல் மற்றும் எடுத்துக்காட்டுகள்

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

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

லூப் எடுத்துக்காட்டுகள்

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

#! / bin / bash count = 1 போது [$ count -le 9] எதிரொலி "$ count" தூக்கம் 1 ((count ++)) செய்து

உதாரணமாக, முந்தைய ஸ்கிரிப்டை ஒரு முடிவிலா சுழற்சியை அதிகரிக்க முடியாது "((+ + count))":

#! / bin / bash count = 1 [$ count -le 9] எதிரொலி "$ count" தூக்கம் 1 செய்யப்படுகிறது

"தூக்கம் 1" அறிக்கை ஒவ்வொரு மறு செய்கைக்கும் 1 விநாடிக்கு மரண தண்டனையை இடைநிறுத்துகிறது. செயலை முடிக்க Ctrl + C விசைப்பலகை குறுக்குவழியைப் பயன்படுத்தவும்.

நிலைமையை ஒரு பெருங்குடல் போடுவதன் மூலம் நீங்கள் முடிவிலா சுழற்சியை உருவாக்கலாம்:

#! / bin / bash count = 1 while: echo "$ count" தூக்கம் 1 (count ++)) செய்து

இடைவெளியில் பல நிலைகளைப் பயன்படுத்த நீங்கள் இரட்டை சதுர அடைப்புக்குறி குறியீட்டைப் பயன்படுத்த வேண்டும்:

count = 1 done = 0 ஆனது [[$ count -le 9] && [$ done == 0]] [$ count == 5] என்றால் எக்கோ "$ count" தூக்கம் 1 (count ++) பின்னர் $ செய்யப்பட்டது = 1 fi செய்து

இந்த ஸ்கிரிப்ட்டில், மாறி "செய்யப்பட்டது" 0 முதல் துவக்கப்படுகிறது, பின்னர் 1 ஐ எண்ணும்போது 1 க்கு அமைக்கிறது. சுழற்சிக்கல் நிலை "சுழற்சியில்" ஒன்பதுக்கும் குறைவாகவும் "செய்யப்பட்டது" பூஜ்யம். எனவே, எண்ணிக்கை 5 சமமாக இருக்கும் போது சுழல்கள் வெளியேறவும்.

"&&" என்பது தருக்க "மற்றும்" மற்றும் "||" தருக்க "அல்லது" என்று பொருள்.

ஒத்த சதுர அடைப்புகளுடன் "-A" மற்றும் "-o" மற்றும் "மற்றும்" அல்லது "நிபந்தனைகள்" என்ற இணைப்பிற்கான மாற்றுக் குறிமுறை. மேலே உள்ள நிலை:

[[$ count -le 9] && [$ done == 0]]

... என எழுதலாம்:

[$ count -le 9] -a [$ done == 0]

ஒரு உரை கோப்பு படித்தல் பொதுவாக ஒரு வட்டத்திற்கு கொண்டு செய்யப்படுகிறது. பின்வரும் எடுத்துக்காட்டில், பாஷ் ஸ்கிரிப்ட் பொருளடக்கம் வரிசையை "inventory.txt" என்ற கோப்பில் படிக்கிறது.

FILE = inventory.txt exec 6

முதல் வரி உள்ளீடு கோப்பு பெயரை "FILE" மாறிக்கு அளிக்கிறது. இரண்டாவது வரி கோப்பு டிஸ்கிரிப்டர் "6" (இது 3 மற்றும் 9 க்கு இடையில் எந்த மதிப்பும் இருக்காது) "நிலையான உள்ளீடு" ஐ சேமிக்கிறது. ஸ்கிரிப்ட்டின் முடிவில் "0" என்ற குறியீட்டை கோப்பிற்கு "நிலையான உள்ளீடு" மீட்டமைக்க முடியும் (அறிக்கை "exec" ஐ பார்க்கவும் 3 வது வரியில் உள்ளீடு கோப்பகம் "0," என்ற கோப்பிற்கு பயன்படுத்தப்படுகிறது. "read" அறிக்கை பின்னர் ஒவ்வொரு மறுதொடரிலும் கோப்பில் இருந்து ஒரு கோட்டைப் படித்து "line1" மாறிக்கு அளிக்கிறது.

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

count = 1 done = 0 செய்தால் [$ count -le 9] echo "$ count" தூக்கம் 1 ((count ++)) [$ count == 5]

முறிவு அறிக்கை முடிவடையும் வரை முடிவடைகிறது மற்றும் அதை தொடர்ந்து எந்த அறிக்கையையும் செயல்படுத்துகிறது. இந்த வழக்கில், அறிக்கை "எதிரொலி முடிந்தது."

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

count = 1 done = 0 செய்தால் [$ count -le 9] தூக்கம் 1 ((count ++)) [$ count == 5] இருந்தால் fi echo "$ count"

இந்த வழக்கில், மாறி "எண்ணிக்கை" அடையும் போது "தொடரவும்" அறிக்கை செயல்படுத்தப்படுகிறது. இதன் பொருள் என்னவென்றால், அடுத்தடுத்த அறிக்கை (echo "$ count") இந்த மறுதொடக்கத்தில் செயல்படுத்தப்படவில்லை ("எண்ணின்" மதிப்பு 5 ஆகும்).