for n in {1..10}; do echo -n $n' '; done                          # tulostaa: 1 2 3 4 ..... 10 . Nopein looppaustapa. {1..1000000} kannattaa jakaa
for n in $(seq 10); do echo -n $n' '; done                        # tulostaa: 1 2 3 4 ..... 10 . Melkein yhtänopea. Hyväksyy muuttujatkin ja desimaaliset arvot - n on silloin tekstijono
for n in {1..5} {a..f}; do echo -n $n' '; done                    # tulostaa: 1 2 3 4 5 a b c d e f
a=1; b=10; eval echo {$a..$b}                                     # tulostaa: 1 2 3 4 ..... 10
a=1; b=10; for i in $(seq $a $b); do echo -n $i' '; done          # tulostaa: 1 2 3 4 ..... 10  
for (( n=1; n<=10; n++ )); do echo -n $n' '; done                 # tulostaa: 1 2 3 4 ..... 10
for ((i=0;i<10;i++)); do echo $i; ((i++)); done                   # tulostaa: 0 2 4 6 8 
a=1; b=10; eval echo {$a..$b}                                     # tulostaa: 1 2 3 4 ..... 10
a=1; b=10; for i in $(seq $a $b); do echo -n $i' '; done          # tulostaa: 1 2 3 4 ..... 10  
for (( n=1; n<=10; n++ )); do echo -n $n' '; done                 # tulostaa: 1 2 3 4 ..... 10; tämä C-tyylinen looppi kuluttaa vähemmän muistia kuin muut (merkitsee kun looppi on yli 1000000) 
a=1; b=10; seq -s " " $a $b                                       # tulostaa: 1 2 3 4 ..... 10; nopea
a=10; b=0; for n in $(seq $a -1 $b); do echo $n; done             # tulostaa: 10 9 8 7 .... 0
awk 'BEGIN{for (i = 1; i <10 ; i += 1) print i}'                  # tulostaa: 1 2 3 4 ..... 10; ei muuta BASH:issa muuta kuin näyttöä.
for ((a=0, b=5; a <= 5 ; a++, b--)); do echo -n $a"/"$b" "; done  # tulostaa: 0/5 1/4 2/3 3/2 4/1 5/0
n=1; while [ $n -lt 11 ]; do echo -n $n' '; ((n++)); done         # tulostaa: 1 2 3 4 ..... 10
n=1; until [ $n -gt 10 ]; do echo -n $n' '; ((n++)); done         # tulostaa: 1 2 3 4 ..... 10 
set {1..10}; echo $@                                              # tulostaa: 1 2 3 4 ..... 10  
for i in `seq 1 10`; do echo -n $i' '; done                       # tulostaa: 1 2 3 4 ..... 10
seq -s' ' 10                                                      # tulostaa: 1 2 3 4 ..... 10 
seq 254 -1 233                                                    # tulostaa: 254 285 ... 233 
seq .1 .01 .2                                                     # tulostaa: 0,10 0,11 - 0,20 alekkain
for n in *; do echo "$n"; done                                    # listaa kansion tiedostot. Jotkut patistaa käyttämään: ./*
for n; do echo $n; done                                           # tulostaa funktion tulo-parametrien arvot

xargs cat < lista_tiedostonimistä # otetaan cat jokaisesta tiedostonimestä, jonkinsortin foreach 

for (( x=0;  x < 49 && x < ${#array[@]}; x++ ))                   # for-looppi kahdella lopetusehdolla
                                     
for day in Mon Tue Wed Thu Fri
seq 1 2 20  # loopin kasvattajaksi voi laittaa myös desimaaliluvun: seq 1 .2 20 (laitetaan piste ja saadaan pilkku)
jot – 1 20 2
i=0; while (( ++i <= 21 )); do echo -n " $i"; done                # tulostaa: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21


for tiedostonimi in $(find "/home/petteri/OMATSKRIPTIT"  | grep -v /ARKISTO/ )
for Nimi in ${NimiLista[*]}; do echo -n $Nimi' '; done
for osio in $(sudo fdisk -l | grep /dev/ | grep Linux | grep -v tavua | grep -v sivutus | awk '{print $1}'); do echo $osio; done
n=0; while true; do echo -n $n' '; ((n++)); [[ $n -gt 180 ]] && break; done # skriptin alkuun voi myös laittaa trap-käskyn ja lopettaa CTRL-c:llä 
select elukka in kissa koira mato; do echo 'antamasi eläin on: '$elukka; break; done # anna numero niin saat nimen - break pois=kyselee jatkuvasti
- for n in * merkitsee: käy läpi kansion tiedostot
while read line; do jotakin; jotakin muuta; ...; done
for file in <filename>; do cp $file{,.bak} && sed 's/old/new/g' $file.bak > $file; done # tee ensin bacup ja sitten backuppiin muutokset
select WORD [in LIST]; do RESPECTIVE-COMMANDS; done

case $sarakeluku in
    1 )      # mitä tehdään tässä tapauksessa ;;
    [2-6] )  # mitä tehdään tässä tapauksessa ;;
    .
    .          
    n )      # mitä tehdään tässä tapauksessa ;;
    * )      # mitä tehdään jos sarakkeen arvoa ei ole luetelluissa ;;
esac

continue # ohita loopin loput käskyt ja ala loopin alusta
break    # keskeytä loopin suoritus ja jatka koodia loopin perästä.


tyhjää lukubufferi: while [ ! $RESULT ]; do read -t 0.001; done

parallel -j2 < commands.txt

a=5; for a; do echo -n "$a "; done

function Kertaa () { MontakoKertaa=$1; shift; for n in $(seq $MontakoKertaa); do $@; done;} -> Kertaa 5 echo echon paikalle voi laittaa minkähyvänsä käskyn

for i in {1..10}; do time some_script.sh; done 2>&1 | grep ^real | sed -e s/.*m// | awk '{sum += $1} END {print sum / NR}'

for i in *.log; do grep OutOfMemo $i >/dev/null && echo $i oom || echo $i ok; done # haku löytyykö mistään error.log:ista puhetta jostain

echo "for (i = 4.00; i < 5.42; i += 0.02)  i" | bc 




 

