test – uniksowe narzędzie konsolowe służące do obliczania wyniku wyrażeń warunkowych.
test wyrażenie
lub
[ wyrażenie ]
Funkcje plikowe
Funkcje te zwracają wartość prawda jeżeli plik istnieje i spełnia warunek.
- -b plik – plik jest blokowym plikiem specjalnym. (ang. block special file).
- -c plik – plik jest znakowym plikiem specjalnym (ang. character special file).
- -d plik – plik jest katalogiem (ang. directory).
- -e plik – plik istnieje (ang. exists).
- -f plik – plik jest normalnym plikiem (ang. regular file).
- -g plik – plik ma ustawiony GID.
- -h plik – plik jest dowiązaniem symbolicznym.
- -k plik – plik ma ustawiony sticky bit.
- -L plik – plik jest dowiązaniem symbolicznym.
- -p plik – plik jest potokiem nazwanym (ang. pipe).
- -r plik – plik można odczytać ang. readable).
- -s plik – plik ma rozmiar większy niż 0 (ang. size).
- -u plik – plik ma ustawiony UID.
- -w plik – plik ma włączoną flagę zapisu (ang. write) dla użytkownika, który wywołał polecenie.
- -x plik – plik ma włączoną flagę wykonania (ang. execute) dla użytkownika, który wywołał polecenie.
- -t deskryptor – deskryptor jest otwarty i powiązany z terminalem.
- plik1 -nt plik2 – plik1 jest nowszy od pliku plik2 (ang. newer than).
- plik1 -ot plik2 – plik1 jest starszy od pliku plik2 (ang. older than).
- plik1 -ef plik2 – plik1 jest inną nazwą dla pliku plik2 (dowiązanie symboliczne).
Funkcje tekstowe
- -n tekst – długość tekstu jest większa niż 0 (ang. nonzero).
- -z tekst – długość tekstu wynosi 0 (ang. zero).
- tekst1 = tekst2 – teksty: tekst1 i tekst2 są identyczne.
- tekst1 != tekst2 – teksty: tekst1 i tekst2 są różne.
Funkcje liczbowe
- liczba1 -eq liczba2 – liczba1 i liczba2 są równe (ang. equal).
- liczba1 -ne liczba2 – liczba1 i liczba2 są różne (ang. not equal).
- liczba1 -gt liczba2 – liczba1 jest większa od liczby liczba2 (ang. greater than).
- liczba1 -ge liczba2 – liczba1 jest większa lub równa liczbie liczba2. (ang. greater than or equal).
- liczba1 -lt liczba2 – liczba1 jest mniejsza od liczby liczba2 (ang. less than).
- liczba1 -le liczba2 – liczba1 jest mniejsza lub równa liczbie liczba2 (ang. less than or equal).
if test ! -s "$1"
then
echo plik $1 nie istnieje lub jest pusty.
fi
sprawdza, czy plik o nazwie będącej w zmiennej $1 istnieje lub jest pusty.