Podeu executar una seqüència d'ordres escrivint-los en un fitxer de seqüència i després executar-lo.
Un fitxer de seqüència és simplement un fitxer de text, normalment amb l'extensió de fitxer .SH, que conté una seqüència d'instruccions que també es pot executar des de la línia d'ordres (shell).
Mentre hi ha exemples de bucle
A continuació es mostra un exemple de bucle de temps. Quan s'executi, aquest fitxer de seqüència imprimirà els números del 1 al 9 a la pantalla. La instrucció while ofereix més flexibilitat per especificar la condició de finalització que el for-loop.
Per exemple, podeu fer que el guió anterior sigui un bucle infinit ometent la instrucció d'increment "((comptar + +))":
La instrucció "Sleep 1" deté l'execució durant 1 segon en cada iteració. Utilitzeu la drecera del teclat Ctrl + C per finalitzar el procés.
També podeu crear un bucle infinit posant un còlon com a condició:
Per utilitzar diverses condicions en el bucle while-loop, heu d'utilitzar la notació de doble quadrat:
En aquest script, la variable "fet" s'inicialitza a 0 i després s'estableix en 1 quan el recompte arriba a 5. La condició de bucle estableix que el bucle while continuarà mentre el "recompte" sigui menor de nou i "fet" sigui igual a zero. Per tant, els bucles surten quan el recompte és igual a 5.
El "&&" significa "lògic" i "i" || " significa "o" lògic.
Una notació alternativa per a les conjuncions "i" i "o" en condicions és "-a" i "-o" amb claudàtors individuals. La condició anterior:
… podria reescriure's com:
Llegir un fitxer de text normalment es fa amb un bucle de temps. En el següent exemple, l'script bash llegeix la línia de continguts per línia d'un fitxer anomenat "inventory.txt:"
La primera línia assigna el nom del fitxer d'entrada a la variable "FILE". La segona línia desa la "entrada estàndard" al descriptor de fitxer "6" (podria ser qualsevol valor entre 3 i 9). Això es fa perquè es pugui restaurar l'entrada estàndard al descriptor de fitxer "0" al final de la seqüència de comandaments (vegeu la instrucció "exec 0 En la tercera línia, el fitxer d'entrada està assignat al descriptor de fitxer" 0 ", que s'utilitza per a l'entrada estàndard. La instrucció "llegir" llegeix una línia del fitxer en cada iteració i la assigna a la variable "line1".
Per sortir prematurament d'un bucle de temps, podeu utilitzar la declaració de ruptura com aquesta:
La instrucció break reprèn l'execució del programa fins al final mentre loop i executa les declaracions següents. En aquest cas, l'extracte "echo acabat".
La declaració de continuar, d'altra banda, només omet la resta de la instrucció while loop de la iteració actual i salta directament a la següent iteració:
En aquest cas, la instrucció "continuar" s'executa quan la variable "compte" arriba a 5. Això significa que la sentència posterior (echo "$ count") no s'executa en aquesta iteració (quan el valor de "compte" és 5).