sunnuntai 21. syyskuuta 2008

bash if

if lauseen toteutus bash komentotulkissa:

Yksinkertainen
if [ ehto ]
then
komennot
fi

Esimerkki, onko hakemistossa jpg kuvia.:
imagename=`ls *jpg|head -1`
if [ $imagename = "" ]
then
echo "No jpg images"
fi

Laaja rakenne:
if [ ehto ]
then
lauseet
elif [ 2. ehto ]
then
lauseet
else
lauseet
fi

Esimerkki 2.
imagename=`ls *jpg|head -1`
if [ $imagename = "" ]
then
echo "No jpg images"
else
echo "At least one image found: $imagename"
fi

Vertailuoperaattorit:
-n Pituus ei ole 0
-z Pituus on 0
-d Hakemisto on olemassa
-f Tavallinen tiedosto on olemassa
-r Onko tiedostoon lukuoikeus
-w Onko tiedostoon kirjoitusoikeus
-x Onko tiedostoon ajo-oikeus
-eq Kokonaisluvut ovat yhtäsuuret (a = b)
-ne Kokonaisluvut eivät ole yhtä suuret (a != b)
= Merkkijonot ovat samat (myös ==)
!= Merkkijonot eivät ole samat
-lt Kokonaisluku on pienempi kuin toinen
-gt Kokonaisluku on suurempi kuin toinen (a > b)
-le Kokonaisluku on pienempi tai yhtäsuuri kuin toinen (a <= b)
-ge Kokonaisluku on suurempi tai yhtäsuuri kuin toinen (a >= b)

Ei kommentteja: