Artur Pyszczuk's blog...

"// I am not sure why this works but it fixes the problem."
roflcopter.pl
/home/linux/commands/test/

test - Sprawdzanie wartości logicznej wyrażenia

Polecenie test przydaje się w momencie, gdy chcemy sprawdzić wartość logiczną wyrażenia warunkowego. Przydaje się to zwłaszcza wtedy, gdy piszemy jakiś skrypt.

Zacznijmy więc od prostego przykładu, wpisuj to samo co jest na poniższym rysunku. Opis znajduje się poniżej.

Polecenie test
Rys 1. Polecenie test

Najpierw przypisujemy do zmiennej a, oraz b odpowiednie wartości. Następnie za pomocą polecenia test sprawdzamy relację pomiędzy nimi. Jeśli a jest mniejsze niż b (lt - lower then), to zwróć wartość 0 (wyrażenie prawdziwe). W przeciwnym wypadku wartość 1 (wyrażenie fałszywe). Za pomocą czwartej linijki sprawdzamy jaką wartość zwróciło ostatnie polecenie, czyli nasze polecenie test. W kolejnej linii spradzamy przeciwny warunek, czy a jest większe niż b. W tym przypadku wyrażenie jest fałszywe dlatego też dostajemy wartość 1. Wszystkie operatory wypisane są w podręczniku systemowym, dlatego też tutaj pokażę jedynie zastosowanie.

Możemy stworzyć bardziej rozbudowane wyrażenie, które będą połączone za pomocą operatorów logicznych (AND, OR). Tak więc kolejny przykład pokazuje taki przypadek. Na rysunku 2 pokazana została pomocnicza tabelka, która może pomóc w zrozumieniu niniejszego przykładu.

Polecenie test
Rys 2. Polecenie test - tablica prawdy - AND

Polecenie test
Rys 3. Polecenie test - rozbudowany warunek

Chodzi o to, że sprawdzamy dwa warunki, które w pierwszym przypadku są takie same i brzmią: "Jeśli a jest większe niż b (X1) i a jest większe niż b (X2)". Dla takich wartości jakie ustawiono w pierwszej i drugiej linijce oba warunku są prawdziwe, dlatego też wynik jest prawdą - 0. Patrząc na tabelę prawdy z rys. 2 widzimy, że pozostałe kombinacje zawsze dadzą fałsz - 1.

Widać tutaj istotną różnicę, ponieważ nie ma słowa kluczowego test. W przypadku, gdybyśmy użyli tego słowa, otrzymamy błąd. Operatorem logicznym AND jest w tym przypadku &&.

Operator logiczny OR to ||. Poniżej znajduje się przykład użycia tego operatora.

Polecenie test
Rys 4. Polecenie test - tablica prawdy - OR

Polecenie test
Rys 5. Polecenie test - rozbudowany warunek

Za pomocą pierwszych dwóch warunków wiemy, że plik plik1 istnieje w bieżącym katalogu, a plik plik2 nie. Następnie mamy warunek złożony, który posiada operator OR, więc zgodnie z tabelą prawdy z rys. 4, wiemy, że spełniony musi być przynajmniej jeden warunek. W pierwszym złożonym warunku, oba są spełnione, bowiem katalog Desktop też istnieje, wynikiem jest prawda - 0. W drugim przypadku wynikiem też jest prawda - 0, ponieważ jeden z warunków jest prawdziwy - katalog Desktop jak już mówiłem istnieje.


Wiecej informacji na temat programu test znajdziesz w podreczniku systemowym man.
Wpisujac w konsoli man test

Wiecej informacji na temat programu test znajdziesz również w programie info.
Wpisujac w konsoli info coreutils 'test invocation'

Some rights reserved 2010 - 2015 Artur Pyszczuk

| Strona Główna | Kontakt |