358 Poznaj I.imix
wc else. po któr>'m następuje lista poleceń do wykonania w przypadku stwierdzenia fałszy-wości testowanego warunku. Pełna składnia polecenia if jest pokazana w listingu 22.5.
Listing 22.5. Składnia wyrażenia if
if <wyrażenie> then
^.polecenia do wykonania jeśli wyrażenie jest prawdziwe> else
kpolecenia do wykonania jeśli, wyrażenie jest fałszywek fi
Słowo kluczowe else i następujące po nim polecenia stanowią element opcjonalny.
Jak bnslt interpretuje prawdę i fałsz
Konwencjonalne języki programowania (zwłaszcza C i C++) interpretują prawdę i fałsz jako wartości liczbowe: 3 oznacza fałsz, a jakakolwiek inna wartość - prawdę, bash odwraca sytuację: 0 jest interpretowane jako prawda, a - - jako fałsz. Jest tak, ponieważ polecenie if w shellu bash zostało stworzone z myślą o testowaniu kodów wynikowych zewnętrznych programów, gdzie c zazwyczaj oznacza pomyślne zakończenie operacji.
Wszystkie konstrukcje udostępniane przez bash automatycznie dokonują odpowiedniej interpretacji zmiennych logicznych - programista musi tylko troszczyć się o rzeczywistą wartość logiczną warunków if. Należy pamiętać jednak o powyższym fakcie przy testowaniu kodów wynikowych programów, które nie trzymają tej się konwencji.
Testowanie wyrażeń
Wyrażenia testowe stanowią ważne uzupełnienie dla if. Służą do wyznaczenia wartości logicznej predykatów matematycznych, boolowskich i innych.
Istnieją dwie postacie wyrażenia testowego:
* Ze słowem kluczowym test: test $nazwa - 'root’
* Z nawiasami kwadratowymi:
( $NAZWA - 'root' 1
Obie z nich mają identyczne działanie.