test (Unix)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

test jest to uniksowe narzędzie konsolowe służące do obliczania wyniku wyrażeń warunkowych.

Użycie[edytuj | edytuj kod]

test wyrażenie

lub

[ wyrażenie ]

Funkcje[edytuj | edytuj kod]

Funkcje plikowe[edytuj | edytuj kod]

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[edytuj | edytuj kod]

  • -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[edytuj | edytuj kod]

  • 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).

Operatory[edytuj | edytuj kod]

Przykład[edytuj | edytuj kod]

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.

Linki zewnętrzne[edytuj | edytuj kod]