sunnuntai 21. syyskuuta 2008
bash if
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)
sunnuntai 14. syyskuuta 2008
Bash merkkijonon käsittelyä
Bash ja strings
Bash kieli tarjoaa ihan kivan joukon merkkijono käsittely komentoja. Ne ovat vähän kryptisen näköisiä, mutta helppoja kun ne osaa.
Merkkijonokomennot ovat muotoa ${} ja varsinainen komento on sulkujen sisällä.
Kannattaa huomata, että muuttujanimi lausekkeessa (R-lauseessa eli oikealla puolella) esiintyy ilman $ merkkiä. Käytetyt sulut ovat {}, curly bracket tai enkelisulut.
Tässä muutamia esimerkin muodossa:
alimerkkijonon poistaminen
imagename=${fullfile%.jpg} --> Poistaa".jpg" esiintymän, jos fullfile merkkijonossa on sellainen.
merkkijonon pituus
len=${#imagename} --> asettaa len muuttujaan imagename merkkijono pituuden.
Toinen vaihtoehto on: expr length $string
Merkkijono korvaaminen ${string/substring/replacement}
mjono2=${mjono/_/- } --> Korvaa merkkijono ensimmäisen alaviivan väliviivalla. mjono2=${mjono//_/- } --> Korvaa merkkijono kaikki alaviivat väliviivoilla.
Alimerkkijono paikka merkkijonossa
pos=`expr index "$s" ' '` --> Missä kohdassa on ensimmäinen välilyönti.
maanantai 1. syyskuuta 2008
Linux kirjoja
Fedora & Red Hat Enterprise Linux : tehokas hallinta, isbn 9789525592061
Linux asentajan opas, isbn 9789525592078
Linux tehokäytössä, isbn 9789525655964
Linkit vievät kirjojen kuvaukseen ja tarjoussivulle (readme.fi).