for-loop
De flesta vet säkerligen hur en for-loop är tänkt att fungera. Vi vill kunna upprepa en viss kod n antal gånger, alternativt loopa igenom innehållet i en datastruktur.
for…in
#!/usr/bin/env bash
#
# An example script on for...in
# for...in range
for value in 1 2 3 4 5
do
echo "$value"
done
# for...in range, ({START..END})
for value in {1..5}
do
echo "$value"
done
# for...in range with steps, ({START..END..INCREMENT})
for value in {1..10..2}
do
echo "$value"
done
Ett alternativ är att använda arithmetic expansion, (( ))
. Det ger möjligheten att skriva en mer C-liknande konstruktion. Notera att det även fungerar för villkoren i if-satsen.
#!/usr/bin/env bash
#
# An example script on traditional for-loop
for (( i=0; i<10; i++ ))
do
if (( "$i" % 2 == 0 ))
then
echo "$i is even"
else
echo "$i is odd"
fi
done
#Revision history
- 2019-03-08: (A, lew) Första versionen.