Циклы

for переменная in список
do
 команда1
 команда2
done
 
for i in 1 2 3 4 5
do
 echo $i
done
 
 
 # Range
  for i in {1..10}; do
    echo "$i"
  done
 
 
 
FILES="lizard.txt snake.txt"
for f in $FILES; do
    mv mammals/$f reptiles
done
 
  for file in *.txt; do
    echo "$file"
  done

или

  # C-style
for ((счетчик=1; счетчик < 10; счетчик++))
do
 команда1
 команда2
done
 
 for ((i=0; i<10; i++)); do
   echo "$i"
 done
 
for ((i=1; i<10; i=$i+1))
do
 echo $i
done

В одну строку

for i in {one,two}; do echo "$i"; done
 
for i in "one" "two"; do echo "$i"; done
 
for i in {ufw,iptables,firewalld,nftables,ipfire}; do echo "$i $(systemctl is-active $i)";done
while [ условие ]
do
 команда1
 команда2
 команда3
done
 
while read line
do
 echo $line
done < ./while
 
while true
do
 echo "Press Ctrl+c"
done
 
#while loop
 
while [ $i -lt 10 ]; do
  echo "$i"
  ((i++))
done
 
 
#loop over lines in a file
while IFS= read -r line; do
  echo "$line"
done < file.txt