Operatory || i &&
•
polecenie1
||
polecenie2
•
polecenie1
&&
polecenie2
•
Operator OR ( || ) spowoduje wykonanie
polecenia2
tylko
wtedy,
gdy
polecenie1
zakoıczy
siħ
niepowodzeniem.
•
Operator AND ( && ) spowoduje wykonanie
polecenia2
jedynie wtedy, gdy
polecenie1
zwróci kod wyjĻcia 0.
1
Polecenia testuj
Ģ
ce i wyra
Ň
enia testowe
•
SprawdzajĢ wartoĻę wyraŇenia testowego
wyra
Ň
enie
i
jeĻli jest prawdziwe, zwracajĢ wartoĻę 0, w przeciwnym
wypadku wartoĻę róŇnĢ od 0:
– test
wyra
Ň
enie
– [
wyra
Ň
enie
]
•
Przykład:
– test „$zmienna” = „informatyka”
– [ „$zmienna” = „informatyka” ]
•
0
gdy
wartoĻę zmiennej
równa
siħ łaıcuchowi
informatyka
Uwaga: W poleceniach testujĢcych jest konieczne
odseparowanie operandów od operatorów – znak spacji.
Przykładowe wyra
Ň
enia testowe
• Dla liczb całkowitych
Ûa –eq b
a=b
Ûa –ne b
a¬b
Ûa –le b
a±b
Ûa –lt b
a<b
Ûa –ge b
a²b
Ûa –gt b
a>b
2
Przykładowe wyra
Ň
enia testowe
• Dla łaıcuchów
Û-z
ła
ı
cuch ła
ı
cuch
ma długoĻę 0
Û-n
ła
ı
cuch ła
ı
cuch
ma niezerowĢ długoĻę
Û
ła
ı
cuch1
==
ła
ı
cuch2
sĢ identyczne
Û
ła
ı
cuch1
!=
ła
ı
cuch2
sĢ róŇne
Przykładowe wyra
Ň
enia testowe
• Dla plików
Û-e plik plik istnieje
Û-d plik plik istnieje i jest katalogiem
Û-r plik plik istnieje i jest do czytania
Û-w plik plik istnieje i jest zapisywalny
Û-x plik plik istnieje i jest wykonywalny
Ûplik1 –nt plik2
plik1 jest nowszy od plik2
Ûplik1 –ot plik2
plik1 jest starszy od plik2
3
Logiczne wyra
Ň
enia testowe
(
wyra
Ň
enie
)
wyra
Ň
enie
jest prawdziwe
!
wyra
Ň
enie
wyra
Ň
enie
jest fałszywe
wyr1
–a
wyr2
wyr1
i
wyr2
sĢ prawdziwe
wyr1
–o
wyr2
wyr1
lub
wyr2
sĢ prawdziwe
Instrukcja if
if
polecenie_testuj
Ģ
ce
then
polecenia_do_wykonania
fi
polecenia_do_wykonania
zostanĢ wykonane, gdy
polecenie_testuj
Ģ
ce
zwróci wartoĻę 0
(czyli gdy jest prawdziwe)
if
polecenie_testuj
Ģ
ce
then
polecenia_do_wykonania1
else
polecenia_do_wykonania2
fi
4
Elif = else if
if
polecenie_testuj
Ģ
ce1
then
polecenia_do_wykonania1
else
if
polecenie_testuj
Ģ
ce2
then
polecenia_do_wykonania2
fi
if
polecenie_testuj
Ģ
ce1
then
polecenia_do_wykonania1
elif
polecenie_testuj
Ģ
ce2
then
polecenia_do_wykonania2
fi
fi
Instrukcja case
case
testowana_warto
Ļę
in
wzorzec1 )
ci
Ģ
g_polece
ı
1
testowana warto
Ļę
jest
porównywana z kolejnymi
wartoĻciami od
wzorzec1
do
wzorzecN
;;
wzorzec2 )
ci
Ģ
g_polece
ı
2
;;
…
wzorzecN )
ci
Ģ
g_polece
ı
N
We wzorcach moŇna
stosowaę: znaki
uogólniajĢce (*, ?) oraz
zbiory znaków ( [a-z], [2-9] )
;;
* )
ci
Ģ
g_polece
ı
* ) - wartoĻę
domy
Ļ
lna
(jeĻli nie pasuje Ňaden z
wzorców
) i jest
opcjonalna
;;
esac
5