Prehľad slučky skriptovania v slučke

V prípade slučky v skripte Shell v tomto prípade povedzme, že ak chceme opakovať nejakú úlohu alebo operáciu, môžeme napísať rovnaký kód toľkokrát, koľkokrát je to časovo náročné a nie príliš efektívne. Aby sme sa vyhli takýmto typom scenárov, môžeme použiť slučky ako pre slučky v programovacom jazyku. Takže pre slučku sa používa na vykonávanie určitej úlohy, ako je sčítanie / množenie alebo akákoľvek iná operácia po určitý počet krát, kým sa v akomkoľvek operačnom systéme nesplní podmienka ukončenia. Nepotrebujeme znova a znova písať rovnaký kód pomocou slučky.

Syntax pre slučku

Syntax for for loop v skriptovaní shellu môže byť znázornená rôznymi spôsobmi, ako je uvedené nižšie:

1. Prvá metóda syntaxe

for var in list
do
command1
command2
done

Z vyššie uvedeného príkladu máme preddefinované kľúčové slová alebo zabudované kľúčové slová, ako napríklad pre, do, done a in. Zatiaľ čo zoznam je zoznam premenných alebo zoznam slov alebo zoznam čísel a var je názov premennej. počas tejto iterácie. Ak nie je uvedený zoznam, bash prevezme pozičný parameter, ktorý sme prešli v shellu. Vo vyššie uvedenom riadku pre slučku vykoná všetky príkazy, ktoré sú medzi príkazmi do a do n, koľkokrát je n veľkosť zoznamu. Napríklad, ak je veľkosť zoznamu 5 s číslami od 1 do 5, potom sa počas prvej iterácie 1 uloží do var a operácie na var sa vykonajú v tele slučky for, kde sú príkazy.

2. Druhá metóda syntaxe

for ( ( expr1; expr2; expr3 ))
do
command1
command2
….
done

Vo vyššie uvedenej syntaxi, ak pozorujeme, je táto syntax podobná syntaxi pre loop v programovacom jazyku c. V cykle for loop existujú tri výrazy, kde prvý výraz je určený na inicializáciu, druhý je na podmienenú kontrolu a tretí je na aktualizáciu iterátora. Vykonanie vyššie pre slučku sa spustí takto, pred začatím prvej iterácie expr1, čo znamená, že inicializácia sa uskutoční po tom, čo sa operácie / príkazy medzi do a vykonajú iteratívne, kým sa expr2 nevyhodnotí ako pravdivý a po každej iterácii expr3 neaktualizuje. iterátorová hodnota (počítadlo), takže operácie sa budú vykonávať s ďalším prvkom alebo hodnotou v zozname, poli alebo reťazci.

Vývojový diagram - Pre slučku v skriptovaní prostredia Shell

Pozrime sa na príklad cyklu a diskutujte o jeho toku pomocou vývojového diagramu.

for filename in *.dat
do
echo cp $fname orig_$fname
done

Vo vyššie uvedenom vývojovom diagrame vysvetľujeme tok pre slučku, ktorá je iterovaná cez zoznam názvov súborov, a v toku sú štyri kroky, ako je procesný tok, premenná hodnota, proces a stdout. V toku procesov sa vysvetľuje, kedy sa pre slučku for for začína hodnota iterátora, kontrola stavu, či je splnená, potom proces spustí, inak proces ukončí. V premennej iterácii iteráciou získame názov súboru, ako je textfile.dat a počas tohto procesu vykoná príkaz echo, kde zobrazí príkaz copy so starým menom a novým názvom stdout. Toto je tok slučky, ktorá opakuje zoznam vstupných názvov súborov.

Výkon:

Ako funguje slučka v Shell Scripting?

Pre skript v slučke v skripte funguje nasledujúci spôsob, keď shell vidí kľúčové slovo, pretože vie, že musí opakovať množinu príkazov raz pre každú položku v zozname. Zakaždým, keď iterácia beží, položka v zozname je priradená premennej var a var je spracovaný prostredníctvom zoznamu príkazov prítomných v slučke medzi vykonaním a vykonaním sa vykoná pred presunom na ďalšiu položku v zozname alebo nasledujúcu iteráciu. K hodnote v premennej pristupujeme pomocou $ pred premennou, takže keď ju spracováva skript shellu, nahradí ju hodnota v premenných namiesto nej.

Príklad:

for filename in *.txt
do
ls filename
done

Vo vyššie uvedenom programe prechádzame zoznamom súborov .txt ako vstup do slučky for a názov premennej je názov súboru, do ktorého súbor .txt uloží a potom spracuje názov súboru uvedením súboru .txt v názve súboru a potom rovnaký postup sa bude opakovať, kým sa neukončí spracovanie všetkých súborov .txt.

Výkon:

Príklady pre slučku

Zatiaľ sme diskutovali o tom, ako slučka pracuje v skripte shellu a rôznych syntaxach. Teraz sa pozrime na pár príkladov a prečítajte si ich a vysvetlite jednotlivé príklady toho, čo robí

Príklad č. 1

Vezmime zoznam statických hodnôt ako vstup pre cyklus a spôsob, akým sa vykoná, uvidíme ako je uvedené nižšie:

for a day in Fri Thu Wed Tue Mon
do
echo “Todays day is $day”
done

Vo vyššie uvedenom príklade by sme nemali odovzdávať vstupné hodnoty s, pretože ak je to oddeľovač, ak ho odovzdáme, bude považovať za oddeľovač tiež hodnotu ako „Pia“ a nemali by sme uvádzať zoznam hodnôt pomocou dvojitých úvodzoviek “, ak ich odovzdávame dvojitými úvodzovkami, shell skript bude považovať všetky hodnoty za jednu hodnotu.

Príklad o / p: Dnešný deň je: Pi Št Št U Po (ak použijeme dvojité úvodzovky)

Výkon:

Príklad č. 2

Pozrime sa na ďalší príklad, s ktorým používame vstup pred zoznamom vstupov, ako je uvedené nižšie:

Month = “Jan Feb Mar Apr May Jun”
for mon in $Month
do
echo “Month is $mon”
done

Vo vyššie uvedenom príklade robíme rovnaké vykonanie cyklu ako vyššie uvedený príklad, ale namiesto čítania vstupného zoznamu sa čítanie vykoná pomocou kľúčového slova „in“. Pri skriptovaní shellu musí byť každá premenná zastúpená v dvojitých úvodzovkách, ale existuje niekoľko výnimiek, ako napríklad ak použijeme dvojité úvodzovky v $ mesiaci vyššie pre riadok slučky, bude celé slová považovať za jeden riadok. Musíme sa o to postarať.

Výkon:

Príklad č. 3

Teraz napíšeme pre loop bez zoznamu vstupov do príkazu for loop namiesto toho vezme vstup z pozičných argumentov do skriptu a príkladu, ako je uvedené nižšie:

Nechajme shell meno skriptu ako sample.sh a jeho obsah, ako je uvedené nižšie:

for num
do
echo “Number is $num”
done
./sample.sh 1 2 3 4 5

Vo vyššie uvedenom príklade je vstup do slučky odovzdaný zo zoznamu argumentov poskytnutých skriptu, takže pre každý argument spracuje všetky príkazy a zobrazí výstup, až kým nebudú opakované všetky argumenty.

Výkon:

Záver - Pre slučku pri skriptovaní v prostredí Shell

Nakoniec je to všetko o cykle pri skriptovaní shellu. Diskutovali sme o tom, čo je pre slučku v skriptovaní shellu, pre syntax slučky, jej vývojový diagram vysvetľujúci tok pre slučku, ako funguje slučka v prostredí shellu a príklady pre slučku pri skriptovaní prostredia. Dúfam, že budete dobre rozumieť slučke, ako ju použiť pri skriptovaní shellu a spustiť ju po prečítaní tohto článku.

Odporúčané články

Toto je príručka k slučke For Shell v skripte Shell. Tu diskutujeme úvod, Ako funguje slučka pri skriptovaní shellu, vývojový diagram a príklad slučky. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Slučky v R
  2. Spark SQL Dataframe
  3. Viacrozmerná databáza
  4. Výhody vizualizácie dát

Kategórie: