7. gyakorlat
test
- Az eredményt a
$?változóba helyezi
1 -> Hamis
0 -> Igaz
Számok összehaonlítása:
-lt-> Kisebb (lower than)gt-> Nagyobb(greater than)-le-> Kisebb vagy egyenlő (less or equal)-ge-> Nagyobb vagy egyenlő (greater or equal)-eq-> Egyenlő (equal)-ne-> Nem egyenlő (not equal)
Szövegek összehasonlítás
kif1 = kif2-> megegyezőkif1 != kif2-> eltér-n- nem üres (nem 0 hosszúságú)-z- üres
Összetett kifejezések
-o- or-a- and! kif- tagadás
Példa
test 3 -eq 2 -o 3 -ge 1 - 3 egyenlő 2-vel VAGY 3 nagyobb, vagy egyenlő, mint 1
Elágazások
if
Példa: tiz.sh
#!/bin/sh
echo -n "Kérek egy számot: "
read num
if [ $num -eq 10 ]
then
echo A szám egyenlő 10-zel
elif [ $num -lt 10 ]
then
echo A szám kisebb mint 10
else
echo A szám nagyobb mint 10
fi
case
Példa: futtat.sh
#!/bin/sh
param=$1
case $param in
"-d")
date
;;
"-w")
who
;;
"-l")
ls
;;
*)
echo Paraméterek:
echo "-d: date"
echo "-w: who"
echo "-l: ls"
;;
esac
Kotlin alternatíva
#!/bin/sh
if [ $# -eq 0 ]
then
echo -e "Paraméterek:\n-d: date\n-w who\n-l: ls"
exit
fi
for i in $*
do
case $i in
"-l")
echo `ls`
;;
"-w")
who
;;
"-d")
echo `date`
;;
esac
done
Ciklusok
for (Húzd végig az ujjad)
Példa: for_5.sh
Példa: for_n.sh
Példa: for_who.sh
while
Példa: while_5.sh
Példa: while_osszead.sh
#!/bin/sh
i=1
acc=0
while [ $i -le 5 ]
do
echo -n "Kérem az $i. számot: "
read num
acc=`expr $acc + $num`
i=`expr $i + 1`
done
echo A beírt számok összege: $acc