Android

Bash-ig hurokig

Supersection 1, Less Comfortable

Supersection 1, Less Comfortable

Tartalomjegyzék:

Anonim

A hurkok a programozási nyelvek egyik alapvető fogalma. A hurkok akkor hasznosak, ha parancsok sorozatát szeretné újra és újra futtatni, amíg egy adott feltétel teljesül.

A szkriptnyelvekben, például a Bash, a hurkok hasznosak az ismétlődő feladatok automatizálásában. Három alapvető hurokkonstrukció van a Bash szkriptekben, a hurokhoz, míg a hurokhoz és a hurokig.

Ez az oktatóanyag elmagyarázza a Bash-ig tartó hurok alapjait.

Bash, amíg a hurok meg nem jelenik

A addig használt hurkot egy adott parancskészlet végrehajtására használják, mindaddig, amíg az adott helyzet hamisnak bizonyul.

A „Bash amíg a hurok” formája a következő:

until do done

A állapotot a parancsok végrehajtása előtt értékelik. Ha a feltétel hamisnak bizonyul, a parancsok végrehajtásra kerülnek. Ellenkező esetben, ha a feltétel igaznak bizonyul, a hurok megszűnik, és a programvezérlés átkerül a következő parancshoz.

Az alábbi példában a hurok minden iteráción kinyomtatja a változó counter aktuális értékét, és egyben növeli a változót.

#!/bin/bash counter=0 until do echo Counter: $counter ((counter++)) done

A hurok mindaddig ismétlődik, amíg a counter változó értéke négynél nagyobb. A szkript a következő kimenetet hozza létre:

Counter: 0 Counter: 1 Counter: 2 Counter: 3 Counter: 4 Counter: 5

Bash amíg a hurok példa

A következő szkript akkor lehet hasznos, ha a git gazdagépen nincs állásideje, és ahelyett, hogy manuálisan git pull be git pull amíg a gazda nem elérhető online, a szkript egyszer futtatható. Megpróbálja húzni a lerakatot, amíg sikeresen meg nem húzza.

#!/bin/bash until git pull &> /dev/null do echo "Waiting for the git host…" sleep 1 done echo -e "\nThe git repository is pulled."

A szkript nyomtatja a „Várakozás a git gazdagépre” feliratot, és egy másodpercig alszik, amíg a git gazdagép onlinevá válik. Miután meghúzta a lerakatot, kinyomtatja: „A git lerakat ki lett húzva.”.

Waiting for the git host… Waiting for the git host… Waiting for the git host… The git repository is pulled.

Következtetés

A ciklus és until hurok hasonlóak egymással, azzal a különbséggel, hogy a while hurok mindaddig iterál, amíg a feltétel true és until hurok iterál, amíg a feltétel false bizonyul.

bash hurok terminál