How to Use Loops in Linux Shell Scripts
for loops
Basic structure
List the items to iterate over directly after in.
Code:
for i in apple banana cherry; do
echo "Fruit: $i"
done
Output:
Fruit: apple
Fruit: banana
Fruit: cherry
seq
You can use the seq command to specify a range of numbers.
Code:
for i in $(seq 1 5); do
echo "Number: $i"
done
Output:
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
{} syntax
Use the {} syntax to list multiple items on a single line.
Code:
for i in {A..E}; do
echo "Letter: $i"
done
for i in {1..5}; do
echo "Number: $i"
done
Output:
Letter: A
Letter: B
Letter: C
Letter: D
Letter: E
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
while loops
Note that a single space is required after [ and before ].
Code:
double=1
while [ $double -le 500 ]; do
echo "double is $double"
double=$(( double + double ))
done
Output:
double is 1
double is 2
double is 4
double is 8
double is 16
double is 32
double is 64
double is 128
double is 256
