A Loop áttekintése a Shell Scripting programban

A Shell Scripting ciklusának ebben az esetben mondjuk, ha ismételten szeretnénk végrehajtani egy feladatot vagy egy műveletet, akkor ugyanazt a kódot írhatjuk sokszor, ami időigényes feladat, és nem is hatékony. Az ilyen típusú forgatókönyvek elkerülése érdekében olyan hurkokat használhatunk, mint a loop a programozási nyelven. Tehát, mivel a hurok egy bizonyos feladat elvégzéséhez használható, például összeadásra / szorzásra vagy bármilyen más műveletre, bizonyos számú alkalommal, amíg a lezárási feltétel bármelyik operációs rendszerben nem teljesül. Nem kell újra és újra írni ugyanazt a kódot a hurok használatával.

A hurok szintaxisa

A hurok-parancsfájlok szintaxisa az alábbiak szerint különféleképpen ábrázolható:

1. Első szintaxis módszer

for var in list
do
command1
command2
done

A fenti példa alapján előre definiált kulcsszavakkal vagy beépített kulcsszavakkal rendelkezünk, mint például a, csináljuk, tettünk, és be, míg a lista a változók listája, vagy a szavak listája, vagy a számok listája, a var pedig a változó neve az iteráció alatt. Ha nem adunk meg listát, akkor a bash pozíciós paramétert vesz át, amelyet átküldtünk a héjában. A fenti ciklusban végrehajtja az összes olyan parancsot, amelyek között van a do és a végrehajtás között, n-szer annyi alkalommal, ahol n a lista mérete. Például, ha a lista mérete 5, 1-től 5-ig terjedő számmal rendelkezik, akkor az első iteráció során var-ban tárolódik, és a var-műveleteket a for-hurok teste végzi, ahol a parancsok vannak.

2. Második szintaxis módszer

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

A fenti szintaxisban, ha megfigyeljük, ez a szintaxis hasonló a hurok szintaxisához a c programozási nyelven. A hurokban három olyan kifejezés létezik, ahol az elsõ kifejezés az inicializálásra szolgál, a második a feltételes ellenõrzésre, a harmadik az iterator frissítésére vonatkozik. A fenti hurok végrehajtása így kezdődik, még az első iteráció elindítása előtt, az expr1 végrehajtása után, azaz az inicializálás megtörténik, azután a műveletek / parancsok a do és a végrehajtott műveletek között iteratíven kerülnek végrehajtásra, amíg az expr2 igaznak nem bizonyul, és miután minden iteráció az expr3 frissíti a iterátor érték (számláló), így a műveletek a lista, tömb vagy karakterlánc következő elemére vagy értékére kerülnek végrehajtásra.

Folyamatdiagram - hurokhoz a Shell Scripting programban

Nézzük meg például a hurok példáját, és vitassuk meg annak áramlását az áramlási diagram segítségével.

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

A fenti folyamatábrán megmagyarázzuk a hurok áramlását, amely a fájlnevek listáján iterál, és az áramlás négy lépésből áll, mint például folyamatáram, változó érték, folyamat és stdout. A folyamatfolyamatban elmagyarázza, hogy mikor indul a for hurok, iterator érték, ellenőrzi a feltételt, ha teljesül-e, majd futtatja a folyamatot, egyébként befejezi a folyamatot. Változó értékben, iterációval történő iterációval kapunk egy fájlnevet, mint például a textfile.dat, és a folyamat során echo utasításot hajt végre, ahol egy másolatnyilatkozatot mutat egy régi fájlnévvel és új fájlnévvel az stdouton. Tehát ez a hurok áramlása, amely iterál a bemeneti fájlnevek listáján.

Kimenet:

Hogyan működik a Loop a Shell Scripting programban?

A loop-shell parancsfájl a következő módon működik, amikor a shell látja a kulcsszót: tudja, hogy parancskészletet kell egyszer megismételnie a lista minden eleméhez. Minden alkalommal, amikor az iteráció fut, a listában szereplő elemet hozzárendelik a var változóhoz, és a var végrehajtására a parancsok listáján kerül sor, amelyek a hurokban jelenik meg a végrehajtás és a végrehajtás között, és végrehajtásra kerülnek, mielőtt a következő tételre lépnének a listában vagy a következő iterációhoz. A var változó értékét a $ felhasználásával érjük el a változó elõtt, így amikor a shell parancsfájl feldolgozza, akkor a var helyettesítõje helyettesíti az értéket.

Példa:

for filename in *.txt
do
ls filename
done

A fenti programban átadjuk a .txt fájlok listáját bemenőként a for hurok számára, és a változó neve egy fájlnév, amelyben a .txt fájl tárolja és feldolgozza a fájlnevet azáltal, hogy felsorolja a .txt fájlt a fájlnévbe, majd ugyanaz a folyamat ismétlődik, amíg az összes .txt fájl feldolgozása meg nem történik.

Kimenet:

Példák a hurokra

Eddig megvitattuk, hogyan működik a loop a shell parancsfájlban és a különböző szintaxisokban. Nézzük meg néhány példát, és áttekintve azokat, és magyarázza meg minden példát, hogy mit csinál

1. példa

Az alábbiakban láthatjuk a hurok bemenetéhez szükséges statikus értékek listáját és annak végrehajtási módját:

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

A fenti példában nem szabad átadni a bemeneti értékeket, mivel a határoló, ha átlépjük, úgy tekintjük, hogy a határoló szintén olyan érték, mint a „Pénz”, és nem szabad felsorolnunk az értékeket dupla idézőjelekkel, „ha átadjuk őket dupla idézőjelekkel, A shell parancsfájl az összes értéket egyetlen értékként kezeli.

Példa o / p: A mai nap a következő: péntek kedd kedd hétfő (ha dupla idézőjeleket használunk)

Kimenet:

2. példa

Most nézzünk meg egy másik példát, ahol az alábbiak szerint használjuk fel a bemeneti lista előtt:

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

A fenti példában ugyanazt a végrehajtást végezzük a hurok számára, mint a fenti példában, de a bemeneti lista helyett a „be” kulcsszóval fogjuk leolvasni. A shell parancsfájlokban minden változót dupla idézőjelekkel kell feltüntetni, de vannak néhány kivétel, például ha a fenti ciklusban dupla idézőjeleket használunk a hurok sorban, akkor a teljes szavakat egyetlen sorként kezeli. Tehát gondoskodnunk kell róla.

Kimenet:

3. példa

Most a loop ciklusba bemeneti lista nélkül írjuk a loop parancsba, ehelyett a pozicionális argumentumokból a szkriptbe és a példába kerül az input:

Nézzük meg a parancsfájl nevét mint example.sh és annak tartalmát az alábbiak szerint:

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

A fenti példában a hurokba történő bevitel a szkripthez megadott argumentumok listájából kerül átadásra, úgy, hogy minden argumentumhoz minden parancsot feldolgozzon, és addig jelenítse meg a kimenetet, amíg az összes argumentum megismétlődik.

Kimenet:

Következtetés - hurokhoz a Shell Scriptingben

Végül pedig a hurok-parancsfájlok készítéséről szól. Megvitattuk, hogy mi a hurok-héjú parancsfájlok, a hurok-szintaxis, a folyamatábra, amely elmagyarázza a hurok áramlását, hogyan működik a hurok a héjában, és példákat mutat a hurok-héj-parancsfájlok készítésére. Remélem, hogy jól megérti a hurkot, hogy hogyan használja azt a shell parancsfájlokban, és hogyan hajthatja végre a cikk elolvasása után.

Ajánlott cikkek

Ez egy útmutató a For hurokhoz a Shell Scripting programban. Itt tárgyaljuk a Bevezetés ismertetését, Hogyan működik a hurok a shell parancsfájlokban, folyamatábra és a hurok példája. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Hurok R
  2. Spark SQL Dataframe
  3. Többdimenziós adatbázis
  4. Az adatok megjelenítésének előnyei

Kategória: