Hur kan jag upprepa ett kommando många gånger?
Skalvariabler används även i loopar, som upprepar kommandon många gånger. Om vi kör det här kommandot:
for filetype in gif jpg png; do echo $filetype; done
ger det:
gif
jpg
png
Observera följande om loopen:
- Strukturen är
for…variabel…in…lista…; do…kropp…; done - Listan med element som loopen ska bearbeta (i det här fallet orden
gif,jpgochpng). - Variabeln som håller reda på vilket element loopen bearbetar just nu (i det här fallet
filetype). - Loopens kropp som utför bearbetningen (i det här fallet
echo $filetype).
Observera att kroppen använder $filetype för att hämta variabelns värde, inte bara filetype –
precis som med andra skalvariabler.
Observera också var semikolonen placeras:
det första kommer mellan listan och nyckelordet do,
och det andra kommer mellan kroppen och nyckelordet done.
Den här övningen är en del av kursen
Introduktion till Shell
Övningsinstruktioner
Ändra loopen så att den skriver ut:
docx
odt
pdf
Använd filetype som namn på loopvariabeln.
Interaktiv övning med praktiskt arbete
Gör teori till handling med en av våra interaktiva övningar
Starta övningen