Laboratorium 8 Pętle - Politechnika Lubelska

Transkrypt

Laboratorium 8 Pętle - Politechnika Lubelska
Laboratorium 8
Pętle
(na podstawie opracowania dr. inż. Grzegorza Kozieła)
Pętla będzie wykonywana dopóki warunek jest prawdą.
while [ WARUNEK ]; do
INSTRUKCJE
done
Pętla odwrotna do WHILE, wykonywana dopóki warunek jest fałszem.
until [ WARUNEK ]; do
INSTRUKCJE
done
Pętla wykonywana na elementach kolekcji.
for ZMIENNA in KOLEKCJA ; do
INSTRUKCJE
done
Klasyczna pętla for.
for (( ODKĄD ; DOKĄD ; SKOK)) ; do
INSTRUKCJE;
done
Dostępne operatory
http://www.tutorialspoint.com/unix/unix-basic-operators.htm
Przykłady zastosowania operatorów matematycznych
http://www.tutorialspoint.com/unix/unix-arithmatic-operators.htm
a) Wpisz i uruchom poniższy skrypt. Napisz, co wykonują poszczególne instrukcje pętli.
#!/bin/bash
zm=0;
while [ 1 ]; do
echo "${zm} Mandarynka!";
zm=$(($zm+1));
done
© Kamil Żyła, Grzegorz Kozieł, Instytut Informatyki, Politechnika Lubelska
1
b) Wpisz i uruchom poniższy skrypt. Napisz, co wykonują poszczególne instrukcje pętli.
#!/bin/bash
zmienna=10
while [ $zmienna -gt 5 ]; do
echo "$zmienna"
zmienna=$(($zmienna - 1))
done
c) Wpisz i uruchom poniższy skrypt. Napisz, co wykonują poszczególne instrukcje pętli.
#!/bin/bash
x=10
until [ $x -lt 5 ]; do
echo "$x"
x=$(($x - 1))
done
d) Wpisz i uruchom poniższy skrypt. Napisz, co wykonują poszczególne instrukcje pętli.
#!/bin/bash
mkdir roboczy
z=1;
while [ $z –le 7 ]; do
touch ./roboczy/plik${z}
let z=$z+1
done
for nazwa in ./roboczy/* ; do
echo $nazwa
done
e) Wpisz i uruchom poniższy skrypt. Napisz, co wykonują poszczególne instrukcje pętli.
#!/bin/bash
for (( i=0 ; $i<=20 ; i++ )) ; do
echo $i;
done
f) Wpisz i uruchom poniższy skrypt. Napisz, co wykonują poszczególne instrukcje pętli.
#!/bin/bash
for x in $@; do
echo $x
done
© Kamil Żyła, Grzegorz Kozieł, Instytut Informatyki, Politechnika Lubelska
2
1. Skrypty do samodzielnego napisania
© Kamil Żyła, Grzegorz Kozieł, Instytut Informatyki, Politechnika Lubelska
3