Logo hu.nowadaytechnol.com

A BASH Használata Hurokhoz

Tartalomjegyzék:

A BASH Használata Hurokhoz
A BASH Használata Hurokhoz

Videó: A BASH Használata Hurokhoz

Videó: A BASH Használata Hurokhoz
Videó: Создание скриптов bash урок #1 2024, Március
Anonim

Az egyik legalapvetőbb trükk a bash szkriptek készítésekor a hurok készítésével jár, így bizonyos feladatokat többször is automatikusan végrehajthat. Végül a hurok eléri az előre meghatározott tesztállapotot, és hirtelen megszűnik a végrehajtása. Az ilyen hurkok tökéletesen működnek a bash-ban Linuxon és macOS-on, valamint a Windows 10 belső bash-ján és még a FreeBSD különféle héjain is. Természetesen bármelyik ciklusba beírhatja a kívánt parancsot, és bármikor folytathatja a folyamatot. Noha írunk néhány rendkívül egyszerű hurkot, ezeket a készségeket felhasználhatja bármilyen típusú szkript készítéséhez.

A szkriptírás megkezdésének számos módja van, de ehhez a beszélgetéshez feltételezzük, hogy megnyitotta a parancssort a terminál keresésével a Dash-on, a KDE, MATE, LX vagy Whisker menükben történő kattintással vagy a egyszerre nyomja le a Ctrl, az Alt és a T billentyűt. Míg szerkesztőként megvitatjuk a vi / vim és a nano témákat, az a kérdés, hogy melyik szerkesztőt használja, meglehetősen személyes kérdés, és bármivel együtt dolgozhat, amellyel jól érzi magát.

1. módszer: Az addig hurok

Talán a legalapvetőbb hurok a bash-ban az, amíg hurok. Addig hajtja végre a parancsokat, amíg a beállított tesztfeltétel igaz nem lesz. Feltételezzük, hogy a nano vagy a vi használatával megnyitotta a nem létező, asti.sh nevű fájlt, és készen áll a friss szöveg beszúrására. Csak készítünk valamit, ami 20-nak számít a terminálon, hogy ez elsőre könnyebb legyen.

Először írja be a következőket:

#! / bin / bash

n = 0

[$ n -gt 20] -ig

csinálni

visszhang $ n

((n ++))

Kész

Ha nanot használ, akkor mentse el a Ctrl lenyomásával, majd az O és végül X megnyomásával a kilépéshez. A vi felhasználóinak meg kell nyomniuk a escape-t, majd be kell írniuk: wq a mentéshez és a kilépéshez.

Image
Image

Következő típus chmod + x, amíg Loop parancsra, hogy futtathatóvá tegye, majd írja be ./untilLoop hogy futtassa. Amint fut, a hurok folyamatosan új számokat nyomtat ki a terminálon, amíg az n változó 20-ra nem válik.

Image
Image

Egyébként az első sor megmondja a környezetének, hogy melyik héjat kell betölteni, ha dolgozik ezekkel a szkriptekkel. Egyes programozók csak a #! / Bin / sh használatával javasolják annak biztosítását, hogy a parancsfájl betartsa bizonyos POSIX szabványokat, de ezeknek az egyszerű parancsfájloknak nem lehet problémája a modern rendszerek túlnyomó többségében.

2. módszer: A hurokhoz

mert a ciklus megnézi az adott lista minden elemét, majd végrehajtja a megadott parancssorokat. Készítünk egyet, amely kinyomtat néhány operációs rendszer nevet, de ismét szem előtt kell tartani, hogy bármit megtehetne ezzel, ha szeretné.

Írja be nano forLoop vagy vi forLoop parancssorba, és kezdje el beírni ezt a következő parancsfájlt. A vi felhasználóinak be kell lépniük a beszúrás módba, mielőtt ezt megtennék.

#! / bin / bash

unices = ’GNU / Linux FreeBSD OpenBSD NetBSD Solaris OpenIndianDarwin HP-UX Minix’

for unix for $ unices

csinálni

echo $ unix

Kész

Image
Image

Mentse el újra a fájlt a Ctrl + O, majd a Ctrl + X metódus használatával a nanóban vagy az Esc majd: wq metódus a vi alatt, mielőtt kiadja a parancsot chmod + x forLoop hogy futtatható legyen. Ha megvan, futtassa be gépeléssel ./forLoop a felszólításra. A for loop arra kényszeríti az echo parancsot, hogy az unices változó minden elemén egymás után dolgozzon. Még egyszer kicserélheti ezt a listát bármely argumentumra, és visszahelyezheti bármely parancsra a hosszú folyamatok automatizálását.

Image
Image

3. módszer: A while hurok

Kezdje el szerkeszteni a harmadik, a Loop nevű fájlt a nano, vi vagy bármely más szerkesztő használatával. Ha szívesebben használna grafikus szövegszerkesztőt, akkor valóban megteheti ezt a projektek bármelyikével is, feltéve, hogy feltétlenül a fájlt ugyanabba a könyvtárba helyezi, ahová a parancssor belsejében dolgozik.

Ebben a fájlban hozzá szeretné adni a sorokat:

#! / bin / bash

n = 0

míg [$ n -le 20]

csinálni

visszhang $ n

((n ++))

Kész

Image
Image

Mentse a fájlt ugyanúgy, mint a többit, majd lépjen ki a szövegszerkesztőből. Miután kilépett, adja ki a parancsot chmod + x whileLoop hogy végre tudja hajtani, majd fusson ./ whileLoop hogy futtassa. Ugyanazt a kimenetet fogja látni, mint ami az első metódusból a tillLoop szkriptből származott, mivel 0-tól 20-ig számít a valószínűbb másodpercszakasz alatt.

Image
Image

Ez kiválóan bizonyítja azt a tényt, hogy többféle módon lehet dolgokat csinálni, amikor ilyen hurokkal dolgozunk. Noha erre technikailag nincs rossz módszer, valószínűleg olyan szkript szerzőkkel találkozol, akik azt állítják, hogy a szkripteket közelebb kell írnod ahhoz, ahogyan a C programozási nyelv dolgokat csinál, vagy alternatívaként, mások azt javasolhatják, hogy ezt ne tedd. Őszintén szólva valószínűleg sok helyes módszer létezik a probléma megoldására.

Ha befejezte a gyakorlást, nyugodtan törölje a szkripteket.

Ajánlott: