Scroll to navigation

TEST(1) Narzędzia powłokowe GNU 2.0 TEST(1)

NAZWA

test - sprawdzanie typów plików i porównywanie wartości

SKŁADNIA

test [wyrażenie]
test [--help] [--version]

OPIS

Ta strona podręcznika man opisuje program test w wersji GNU.

Zauważ, że w większości powłok istnieje wbudowane polecenie o tej samej nazwie i podobnym działaniu. Posługując się czystą nazwą polecenia w skrypcie bądź interaktywnie można otrzymać funkcjonalność różną od tu opisanej.

test zwraca kod zakończenia 0 (prawda) lub 1 (fałsz) zależnie od wyniku ewaluacji wyrażenia warunkowego ´wyrażenie´. Wyrażenia mogą być jedno- lub dwuparametrowe. Każda część wyrażenia musi być osobnym argumentem.

WYRAŻENIA WARUNKOWE

Zwróć uwagę na to, że nawiasy powinny być chronione (np. odwrotnym ukośnikiem) przed interpretacją przez powłokę.

Sprawdzanie typu plików

Prawda, jeżeli plik istnieje i jest urządzeniem blokowym.
Prawda, jeżeli plik istnieje i jest urządzeniem znakowym.
Prawda, jeżeli plik istnieje i jest katalogiem.
Prawda, jeżeli plik istnieje i jest zwykłym plikiem.
Prawda, jeżeli plik istnieje i jest dowiązaniem symbolicznym.
Prawda, jeżeli plik istnieje i jest nazwanym łączem (named pipe).
Prawda, jeżeli plik istnieje i jest gniazdem (socket).
Prawda, jeżeli plik o deskryptorze fd jest otwarty na terminalu. Jeżeli fd nie jest podane, jego wartość przyjmowana jest jako 1 (standardowe wyjście).

Sprawdzanie praw dostępu

Prawda, jeżeli plik istnieje i ma ustawiony bit set-group-id.
Prawda, jeżeli plik ma ustawiony bit ``sticky''.
Prawda, jeżeli plik istnieje i może być czytany.
Prawda, jeżeli plik istnieje i ma ustawiony bit set-user-id.
Prawda, jeżeli plik istnieje i można do niego pisać.
Prawda, jeżeli plik istnieje i może być wykonany.
Prawda, jeżeli plik istnieje i jego właścicielem jest użytkownik o numerze równym aktualnemu efektywnemu UID.
Prawda, jeżeli plik istnieje i należy do grupy o numerze równym efektywnemu GID.

Sprawdzanie właściwości plików

Prawda, jeżeli plik istnieje.
Prawda, jeżeli plik istnieje i ma rozmiar większy niż zero.
Prawda, jeżeli plik1 jest nowszy (zgodnie z datą modyfikacji) niż plik2.
Prawda, jeżeli plik1 jest starszy niż plik2.
Prawda, jeżeli plik1 i plik2 mają te same numery urządzenia oraz i-węzła, tj. są wzajemnymi twardymi dowiązaniami.

Sprawdzanie łańcuchów znakowych

Poniższe opcje sprawdzają właściwości łańcuchów. Dla test łańcuchy nie są cytowane, choć może zachodzić potrzeba takiej ochrony przed interpretacją przez powłokę znaków o specjalnym dla niej znaczeniu, np. spacji.

Prawda, jeżeli łańcuch ma długość zero.
[-n] łańcuch
Prawda, jeżeli długość łańcucha jest różna od zera.
łańcuch1 = łańcuch2
Prawda, jeżeli łańcuchy są jednakowe.
łańcuch1 != łańcuch2
Prawda, jeżeli łańcuchy nie są jednakowe

Testy numeryczne

OP jest może być jednym z niżej wymienionych: -eq, -ne, -lt, -le, -gt lub -ge.

Powyższe dwuargumentowe operatory arytmetyczne zwracają prawdę, jeżeli argument1 jest odpowiedni równy, nierówny, mniejszy niż, mniejszy lub równy, większy niż albo większy lub równy w stosunku do argumentu2. argument1 oraz argument2 mogą być liczbami całkowitymi ze znakiem (lub bez znaku) albo specjalnym wyrażeniem -l łańcuch, którego wartością jest długość łańcucha.

Na przykład:


test -1 -gt -2 && echo yes
=> yes
test -l abc -gt 1 && echo yes
=> yes
test 0x100 -eq 1
error--> test: integer expression expected before -eq

Operatory logiczne

( wyrażenie )
Prawda, jeżeli wyrażenie jest prawdziwe.
! wyrażenie
Prawda, jeżeli wyrażenie jest fałszywe.
Prawda jeżeli obydwa wyrażenia są prawdziwe.
Prawda jeżeli przynajmniej jedno z wyrażeń jest prawdziwe.

OPCJE

Jeżeli GNU test zostanie wywołany z dokładnie jednym argumentem, rozpoznawane są następujące opcje:

Wyświetla informację o stosowaniu programu i dostępnych opcjach, kończy pracę.
Wyświetla numer wersji programu i kończy pracę.

Pojedynczy argument nie będący opcją jest również dozwolony: jeśli nie jest on pusty, to test zwróci prawdę.

ZGŁASZANIE BŁĘDÓW

Błędy proszę zgłaszać, w jęz.ang., do <bug-sh-utils@gnu.org>..

COPYRIGHT

Copyright © 1999 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ZOBACZ TAKŻE

false(1), true(1), expr(1), sh-utils(1).

OD TŁUMACZA

Zaktualizowano i poszerzono wg dokumentacji Texinfo dla narzędzi powłokowych GNU wersji 2.0.

FSF maj 2000