Kom igångKom igång gratis

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:

  1. Strukturen är for …variabel… in …lista… ; do …kropp… ; done
  2. Listan med element som loopen ska bearbeta (i det här fallet orden gif, jpg och png).
  3. Variabeln som håller reda på vilket element loopen bearbetar just nu (i det här fallet filetype).
  4. 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

Visa kurs

Ö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