Polecenie test
w Bashu służy do oceny warunków i zwracania wartości prawda lub fałsz. Jest to przydatne narzędzie do wykonywania prostych porównań, takich jak sprawdzanie, czy plik istnieje, czy zmienna ma określoną wartość, czy liczby są równe itp.
Podstawowa składnia polecenia test
wygląda następująco:
test [opcje] [argumenty]
-e [plik]
: Sprawdza, czy plik istnieje.-f [plik]
: Sprawdza, czy plik jest zwykłym plikiem.-d [katalog]
: Sprawdza, czy katalog istnieje.-z [zmienna]
: Sprawdza, czy zmienna jest pusta.-n [zmienna]
: Sprawdza, czy zmienna nie jest pusta.[liczba1] -eq [liczba2]
: Sprawdza, czy liczby są równe.[liczba1] -lt [liczba2]
: Sprawdza, czy liczba1 jest mniejsza od liczby2.Oto kilka praktycznych przykładów użycia polecenia test
:
test -e plik.txt && echo "Plik istnieje"
zmienna=""
test -z "$zmienna" && echo "Zmienna jest pusta"
test -d /ścieżka/do/katalogu && echo "Katalog istnieje"
liczba1=5
liczba2=10
test $liczba1 -lt $liczba2 && echo "$liczba1 jest mniejsze od $liczba2"
[[ ... ]]
zamiast test
w skryptach Bash, gdyż oferuje bardziej rozbudowane możliwości porównań i jest bardziej czytelne.&&
(i) oraz ||
(lub) dla bardziej złożonych sprawdzeń.