Parancsok sorozatát végrehajthatja szkriptfájlba írásával, majd futtatásával.
A szkriptfájl egyszerűen egy szövegfájl, általában a .SH fájlkiterjesztéssel, amely utasításokat tartalmaz, amelyek végrehajthatók a parancssorból (shell) is.
Míg a Loop példák
Az alábbiakban példaként említhetjük az idő hurokját. Futtatáskor a szkriptfájl a képernyőn az 1-9. Számokat nyomtatja ki. A time-statement nagyobb rugalmasságot biztosít a lezárási feltétel megadásához, mint a for-loop.
Például, az előző szkriptet végtelen hurokvá teheti, ha elhagyja a növekményes állítást "((count ++))":
Az "alvás 1" utasítás minden egyes iteráció után 1 másodpercig szünetelteti a végrehajtást. Használja a Ctrl + C billentyűkombinációt a folyamat befejezéséhez.
Végtelen hurokot is létrehozhat úgy, hogy kettőspontot állít be:
Annak érdekében, hogy többszörös feltételeket használhasson a hurokhurokban, használd a kettős szögletes zárójelet:
Ebben a szkriptben a "kész" változó 0-ra van inicializálva, majd 1-re állítva, ha a számlálás eléri az 5-öt. A hurok feltétel azt állítja, hogy a hurok addig folytatódik, amíg a "számlálás" kilencnél kevesebb és a "kész" egyenlő nullára. Ezért a hurok kilép, ha a számláló egyenlő az 5-ös értékkel.
A "&&" jelentése logikai "és" és "||" logikus "vagy".
A "és" és "vagy" feltételek között egy alternatív jelölés "-a" és "-o" egyszögletes zárójelekkel. A fenti feltétel:
… újraírható, mint:
A szövegfájl olvasása általában egy idő hurokkal történik. A következő példában a bash parancsfájl az "inventory.txt:" nevű fájl sorában olvasható a tartalom sorában.
Az első sor hozzárendeli a bemeneti fájl nevét a "FILE" változóhoz. A második sor elmenti a "standard bemenetet" a "6" fájlleíróban (ez bármilyen érték lehet 3 és 9 között). Ez úgy történik, hogy a "standard bemenet" visszaállítható a parancsfájl végén a "0" fájlleíróhoz (lásd az "exec 0 utasítás" parancsot. A 3. sorban a bemeneti fájl hozzárendelve a "0" fájlleíróhoz a szabványos bemenethez.A "read" utasítás aztán minden egyes iterációban leolvassa a fájl sorát, és a "line1" változóhoz rendel.
Annak érdekében, hogy az időhurok idő előtt elhagyhasson, használhatja a következő szüneteltetést:
A szüneteltetési utasítás a program végrehajtását a végére hágja, és végrehajtja az azt követő állításokat. Ebben az esetben a "visszhang kész" kifejezés.
A folytonos megfogalmazás azonban csak az aktuális iteráció miközben hurok utasításának hátralévő részét átugorja, és közvetlenül a következő iterációra ugrik:
Ebben az esetben a "folytatás" utasítás végrehajtódik, ha a "count" változó eléri a 5 értéket. Ez azt jelenti, hogy a következő utasítás (echo "$ count") nem fut le ezen az iteráción (amikor a "count" értéke 5).




