To jest polecenie testposix, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
test — ocenia wyrażenie
STRESZCZENIE
test [wyrażenie]
[ [wyrażenie] ]
OPIS
Opona test narzędzie oceni wyrażenie i wskazać wynik oceny
według statusu wyjścia. Status wyjścia równy zero wskazuje, że wyrażenie zostało ocenione jako prawdziwe
a status wyjścia równy 1 wskazuje, że wyrażenie zostało ocenione jako fałszywe.
W drugiej formie narzędzia, które wykorzystuje „[]” zamiast test, wniosek powinien
upewnij się, że nawiasy kwadratowe stanowią oddzielne argumenty.
OPCJE
Opona test użyteczność nie rozpozna „--” argument w sposób określony przez
Wytyczna 10 w tomie Base Definitions normy POSIX.1-2008, Sekcja 12.2, Użyteczność Składnia
Wytyczne.
Żadne opcje nie będą obsługiwane.
OPERANDY
Aplikacja powinna zapewniać prezentację wszystkich operatorów i elementów prawyborów jako
osobne argumenty do test użyteczność.
Do konstrukcji można wykorzystać następujące elementy podstawowe wyrażenie:
−b nazwa ścieżki
Prawda, jeśli nazwa ścieżki rozwiązuje problem istniejącego wpisu katalogu dla bloku specjalnego
plik. Fałsz jeśli nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki rozstrzyga się na
istniejąca pozycja katalogu dotycząca pliku, który nie jest plikiem specjalnym blokowym.
−c nazwa ścieżki
Prawda, jeśli nazwa ścieżki odnosi się do istniejącego wpisu w katalogu dla znaku specjalnego
plik. Fałsz jeśli nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki rozstrzyga się na
istniejąca pozycja katalogu dotycząca pliku, który nie jest plikiem specjalnym znakowym.
-d nazwa ścieżki
Prawda, jeśli nazwa ścieżki odnosi się do istniejącego wpisu katalogu dla katalogu. FAŁSZ
if nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki przenosi się do istniejącego katalogu
wpis dla pliku, który nie jest katalogiem.
-tj nazwa ścieżki
Prawda, jeśli nazwa ścieżki odnosi się do istniejącego wpisu w katalogu. Fałsz jeśli nazwa ścieżki
nie może być rozwiązane.
−f nazwa ścieżki
Prawda, jeśli nazwa ścieżki powoduje utworzenie istniejącego wpisu w katalogu dla zwykłego pliku.
Fałsz jeśli nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki rozwiązuje się do istniejącego
wpis katalogu dotyczący pliku, który nie jest zwykłym plikiem.
−g nazwa ścieżki
Prawda, jeśli nazwa ścieżki rozwiązuje do istniejącego wpisu katalogu dla pliku, który ma swój
ustawiona flaga set-group-ID. Fałsz jeśli nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki
rozwiązuje istniejący wpis w katalogu dla pliku, który nie ma ustawionego
ustawiona flaga ID grupy.
-h nazwa ścieżki
Prawda, jeśli nazwa ścieżki odnosi się do istniejącego wpisu katalogu dla dowiązania symbolicznego.
Fałsz jeśli nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki rozwiązuje się do istniejącego
pozycja katalogu dotycząca pliku, który nie jest dowiązaniem symbolicznym. Jeśli ostatni element
of nazwa ścieżki jest dowiązaniem symbolicznym, to dowiązanie to nie jest przestrzegane.
−L nazwa ścieżki
Prawda, jeśli nazwa ścieżki odnosi się do istniejącego wpisu katalogu dla dowiązania symbolicznego.
Fałsz jeśli nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki rozwiązuje się do istniejącego
pozycja katalogu dotycząca pliku, który nie jest dowiązaniem symbolicznym. Jeśli ostatni element
of nazwa ścieżki jest dowiązaniem symbolicznym, to dowiązanie to nie jest przestrzegane.
−rz ciąg Prawda, jeśli długość ciąg jest niezerowy; w przeciwnym razie fałsz.
−str nazwa ścieżki
Prawda, jeśli nazwa ścieżki odnosi się do istniejącego wpisu katalogu dla FIFO. Fałsz jeśli
nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki przenosi się do istniejącego katalogu
wpis dla pliku, który nie jest FIFO.
−r nazwa ścieżki
Prawda, jeśli nazwa ścieżki odnosi się do istniejącego wpisu katalogu dla pliku, dla którego
zostanie udzielone zezwolenie na odczyt z pliku, zgodnie z definicją w Sekcja 1.1.1.4,
filet Czytaj, Pisać, i Tworzenie. Fałsz jeśli nazwa ścieżki nie można rozwiązać, lub jeśli
nazwa ścieżki odnosi się do istniejącego wpisu w katalogu dla pliku, dla którego uprawnienia
do odczytu z pliku nie zostanie przyznany.
−S nazwa ścieżki
Prawda, jeśli nazwa ścieżki przekształca się w istniejący wpis w katalogu dla gniazda. Fałsz jeśli
nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki przenosi się do istniejącego katalogu
wpis dotyczący pliku, który nie jest gniazdem.
-s nazwa ścieżki
Prawda, jeśli nazwa ścieżki przekształca się w istniejący wpis w katalogu dla pliku, który ma rozszerzenie
rozmiar większy od zera. Fałsz jeśli nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki
odnosi się do istniejącego wpisu w katalogu dla pliku, który nie ma określonego rozmiaru
większe od zera.
−t deskryptor_pliku
Prawda, jeśli numer deskryptora pliku deskryptor_pliku jest otwarty i powiązany z a
terminal. Fałsz jeśli deskryptor_pliku nie jest prawidłowym numerem deskryptora pliku lub if
numer deskryptora pliku deskryptor_pliku nie jest otwarty lub jest otwarty, ale nie jest
powiązany z terminalem.
-u nazwa ścieżki
Prawda, jeśli nazwa ścieżki rozwiązuje do istniejącego wpisu katalogu dla pliku, który ma swój
ustawiona flaga set-user-ID. Fałsz jeśli nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki
rozwiązuje istniejący wpis w katalogu dla pliku, który nie ma ustawionego
ustawiona flaga identyfikatora użytkownika.
-w nazwa ścieżki
Prawda, jeśli nazwa ścieżki odnosi się do istniejącego wpisu katalogu dla pliku, dla którego
zostanie udzielone zezwolenie na zapis do pliku, zgodnie z definicją w Sekcja 1.1.1.4,
filet Czytaj, Pisać, i Tworzenie. Fałsz jeśli nazwa ścieżki nie można rozwiązać, lub jeśli
nazwa ścieżki odnosi się do istniejącego wpisu w katalogu dla pliku, dla którego uprawnienia
zapis do pliku nie zostanie przyznany.
−x nazwa ścieżki
Prawda, jeśli nazwa ścieżki odnosi się do istniejącego wpisu katalogu dla pliku, dla którego
pozwolenie na wykonanie pliku (lub przeszukanie go, jeśli jest to katalog).
przyznane w rozumieniu art Sekcja 1.1.1.4, filet Czytaj, Pisać, i Tworzenie. Fałszywe
if nazwa ścieżki nie można rozwiązać, lub jeśli nazwa ścieżki przenosi się do istniejącego katalogu
wpis dotyczący pliku, dla którego nie będzie uprawnień do wykonywania (lub wyszukiwania) pliku
być przyznane.
−z ciąg Prawda, jeśli długość ciągu ciąg wynosi zero; w przeciwnym razie fałsz.
ciąg Prawda, jeśli ciąg ciąg nie jest ciągiem pustym; w przeciwnym razie fałsz.
s1 = s2 Prawda, jeśli struny s1 i s2 są identyczne; w przeciwnym razie fałsz.
s1 != s2 Prawda, jeśli struny s1 i s2 nie są identyczne; w przeciwnym razie fałsz.
n1 −równ n2 Prawda, jeśli liczby całkowite n1 i n2 są algebraicznie równe; w przeciwnym razie fałsz.
n1 -nie n2 Prawda, jeśli liczby całkowite n1 i n2 nie są algebraicznie równe; w przeciwnym razie fałsz.
n1 −gt n2 Prawda, jeśli liczba całkowita n1 jest algebraicznie większa niż liczba całkowita n2; Inaczej,
fałsz
n1 −ge n2 Prawda, jeśli liczba całkowita n1 jest algebraicznie większa lub równa liczbie całkowitej n2;
w przeciwnym razie fałsz.
n1 −lt n2 Prawda, jeśli liczba całkowita n1 jest algebraicznie mniejsza niż liczba całkowita n2; Inaczej,
fałsz
n1 −le n2 Prawda, jeśli liczba całkowita n1 jest algebraicznie mniejsza lub równa liczbie całkowitej n2;
w przeciwnym razie fałsz.
wyrażenie1 -a wyrażenie2
Prawda, jeśli oba wyrażenie1 i wyrażenie2 są prawdziwe; w przeciwnym razie fałsz. The -a
binarny podstawowy pozostaje asocjacyjny. Ma wyższy priorytet niż -o.
wyrażenie1 -o wyrażenie2
Prawda, jeśli albo wyrażenie1 or wyrażenie2 jest prawdziwy; w przeciwnym razie fałsz. The -o
binarny podstawowy pozostaje asocjacyjny.
Z wyjątkiem -h nazwa ścieżki i −L nazwa ścieżki prawybory, jeśli a nazwa ścieżki argumentem jest
link symboliczny, test ocenia wyrażenie, rozwiązując dowiązanie symboliczne i
korzystając z pliku, do którego odwołuje się link.
Te kolory podstawowe można łączyć z następującymi operatorami:
! wyrażenie
Prawda, jeśli wyrażenie to fałsz. Fałsz jeśli wyrażenie jest prawdziwy.
( wyrażenie )
Prawda, jeśli wyrażenie jest prawdziwy. Fałsz jeśli wyrażenie to fałsz. Nawiasy mogą być
używane do zmiany normalnego pierwszeństwa i skojarzeń.
Prawybory z dwoma elementami formy:
-główny_operator podstawowy_operand
są znane jako jednoargumentowy Primaries. Podstawowe z trzema elementami w każdym z dwóch
formy:
podstawowy_operand -główny_operator podstawowy_operand
podstawowy_operand podstawowy_operand podstawowy_operand
są znane jako dwójkowy Primaries. Dodatkowe operatory zdefiniowane w implementacji i
główny_operators mogą być zapewnione przez implementacje. Będą one miały postać -operator
gdzie pierwszy znak operator nie jest cyfrą.
Algorytm ustalania pierwszeństwa operatorów i wartości zwracanej
zostanie wygenerowany na podstawie liczby przedstawionych argumentów test. (Jednak kiedy
używając „[...]” forma, argument końcowy nie będzie brany pod uwagę
ten algorytm.)
Na poniższej liście argumenty przedstawiane są jako $1, $2, $3 i $4 test:
0 argumentów:
Wyjdź z fałszu (1).
1 argument: Wyjdź true (0), jeśli $1 nie jest zerowe; w przeciwnym razie wyjdź z false.
2 argumentów:
* Jeśli wynosi 1 USD '!', zakończ true, jeśli $2 ma wartość null, false, jeśli $2 nie ma wartości null.
* Jeśli 1 $ jest jednoargumentową wartością podstawową, zakończ true, jeśli test jednoargumentowy ma wartość true, lub false, jeśli
test jednoargumentowy jest fałszywy.
* W przeciwnym razie uzyskaj nieokreślone wyniki.
3 argumentów:
* Jeśli 2 $ to binarna wartość podstawowa, wykonaj test binarny 1 $ i 3 $.
* Jeśli wynosi 1 USD '!', zaneguj test dwóch argumentów wynoszący 2 USD i 3 USD.
* Jeśli wynosi 1 USD '(' i 3 dolary to ')', wykonaj test jednoargumentowy 2 $. W systemach, które
nie obsługują opcji XSI, wyniki nie są określone, jeśli wynosi 1 $ '('
i 3 dolary to ')'.
* W przeciwnym razie uzyskaj nieokreślone wyniki.
4 argumentów:
* Jeśli wynosi 1 USD '!', zanegowaj test trzech argumentów wynoszący 2 USD, 3 USD i 4 USD.
* Jeśli wynosi 1 USD '(' i 4 dolary to ')', wykonaj test dwóch argumentów dla wartości 2 USD i 3 USD.
W systemach, które nie obsługują opcji XSI, wyniki są nieokreślone
jeśli jest to 1 dolar '(' i 4 dolary to ')'.
* W przeciwnym razie wyniki nie zostaną określone.
> 4 argumenty:
Wyniki nie są określone.
W systemach zgodnych z XSI powinny być kombinacje części głównych i operatorów
oceniane przy użyciu opisanych wcześniej reguł pierwszeństwa i skojarzeń.
Ponadto porównanie ciągów binarnych podstawowych '=' i "!=" będzie miał
wyższy priorytet niż jakikolwiek jednoargumentowy element podstawowy.
STDIN
Nieużywany.
WEJŚCIE AKTA
Brak.
ŚRODOWISKO ZMIENNE
Następujące zmienne środowiskowe mają wpływ na wykonanie test:
JĘZYK Podaj wartość domyślną dla zmiennych internacjonalizacji, które nie są ustawione lub
zero. (Patrz tom Definicje podstawowe POSIX.1‐2008, Sekcja 8.2,
Umiędzynarodowienie Zmienne o pierwszeństwo internacjonalizacji
zmienne używane do określania wartości kategorii ustawień regionalnych).
LC_ALL Jeśli jest ustawiony na niepustą wartość ciągu, nadpisz wartości wszystkich pozostałych
zmienne internacjonalizacji.
LC_CTYPE Określ lokalizację dla interpretacji sekwencji bajtów danych tekstowych
jako znaki (na przykład jednobajtowe w przeciwieństwie do wielobajtowych znaków w
argumenty).
LC_MESSAGES
Określ ustawienia regionalne, które powinny być używane do wpływania na format i zawartość
komunikaty diagnostyczne zapisywane z błędem standardowym.
NLSPATH Określ lokalizację katalogów wiadomości do przetwarzania LC_MESSAGES.
ASYNCHRONICZNY WYDARZENIA
Domyślna.
STDOUT
Nieużywany.
STDERR
Błąd standardowy stosuje się tylko do komunikatów diagnostycznych.
WYDAJNOŚĆ AKTA
Brak.
ROZSZERZONY OPIS
Brak.
EXIT STATUS
Zwracane są następujące wartości wyjściowe:
0 wyrażenie ocenione jako prawdziwe.
1 wyrażenie ocenione jako fałszywe lub wyrażenie zaginął.
>1 Wystąpił błąd.
KONSEKWENCJE OF BŁĘDY
Domyślna.
Opona następujący działy jest informacyjny.
WNIOSEK ZASTOSOWANIE
Rozszerzenia XSI określające -a i -o binarne prawybory i '(' i ')' operatorzy
zostały oznaczone jako przestarzałe. (Wiele wyrażeń, które ich używają, jest niejednoznacznie zdefiniowanych przez
gramatyka w zależności od konkretnych wyrażeń, które są oceniane.) Skrypty korzystające z nich
wyrażenia należy przekonwertować do postaci podanych poniżej. Mimo wielu wdrożeń
będzie nadal obsługiwać te przestarzałe formularze, skrypty powinny być bardzo ostrożne przy ich używaniu
radzenie sobie z danymi wejściowymi dostarczonymi przez użytkownika, które można pomylić z tymi i innymi podstawowymi oraz
operatorzy. Chyba że twórca aplikacji zna wszystkie przypadki, które generują dane wejściowe do pliku
skrypt, wywołania takie jak:
test „1 USD” -a „2 USD”
należy zapisać jako:
test „1 USD” && test „2 USD”
aby uniknąć problemów, jeśli użytkownik podał wartości takie jak 1 $ ustawione na '!' i 2 $ ustawione na wartość null
strunowy. Oznacza to, że w przypadkach, gdy istotna jest maksymalna przenośność, należy zastąpić:
test wyr1 -a wyr2
z:
test wyr1 && test wyr2
i wymień:
test wyr1 -o wyr2
z:
test wyr1 || test wyr2
ale zauważ, że w test, -a ma wyższy priorytet niż -o Podczas „&&” i „||” mieć równe
pierwszeństwo w powłoce.
W języku poleceń powłoki można używać nawiasów lub nawiasów klamrowych, aby wpłynąć na grupowanie.
Podczas używania nawiasów należy unikać nawiasów sh; na przykład:
test \( wyr1 -a wyr2 \) -o wyr3
To polecenie nie zawsze jest przenośne, nawet w systemach zgodnych z XSI, w zależności od
wyrażenia określone przez expr1, expr2 i expr3. Zamiast tego można skorzystać z formularza:
( test wyr1 && test wyr2 ) || test wyr3
Dwa polecenia:
test „1 USD”
test ! „1 USD”
nie można było wiarygodnie stosować w niektórych systemach historycznych. Nieoczekiwane rezultaty wystąpią, jeśli
taki, tego rodzaju ciąg użyto wyrażenia i rozwinięto $1 do '!', '('lub znany jednoargumentowy element podstawowy.
Lepsze konstrukcje to:
test −rz „1 USD”
test −z „1 USD”
odpowiednio.
Systemy historyczne również były zawodne, biorąc pod uwagę wspólną konstrukcję:
test „$odpowiedź” = "oczekiwany strunowy"
Jedna z poniższych jest bardziej niezawodną formą:
test „Odpowiedź X $” = „Xoczekiwano strunowy"
test "oczekiwany strunowy" = „$odpowiedź”
Zauważ, że druga forma zakłada to spodziewany ciąg nie można było z żadnym pomylić
jednoargumentowy podstawowy. Jeśli spodziewany ciąg zaczynać z '-', '(', '!', lub nawet '=', pierwsza forma
należy zamiast tego użyć. Stosując powyższe zasady bez rozszerzeń oznaczonych XSI, dowolnych
z trzech formularzy porównawczych jest wiarygodny, niezależnie od danych wejściowych. (Należy jednak pamiętać, że
we wszystkich przypadkach cytowane są ciągi znaków.)
Ponieważ binarne wartości podstawowe porównania ciągów, '=' i "!=", mają wyższy priorytet
niż jakakolwiek jednoargumentowa wartość podstawowa w przypadku zawierającym więcej niż 4 argumenty, mogą wystąpić nieoczekiwane wyniki
jeśli argumenty nie są odpowiednio przygotowane. Na przykład w:
test -d $1 -o -d $2
Jeśli $1 jest możliwą nazwą katalogu '=', pierwsze trzy argumenty to
uważane za porównanie ciągów, które spowoduje błąd składniowy przy drugim -d is
napotkane. Zapobiega temu jedna z poniższych form; preferowany jest drugi:
test \( -d „1 USD” \) -o \( -d „2 USD” \)
test -d „1 USD” || test -d „2 USD”
Również w przypadku więcej niż 4 argumentów:
test „1 USD” = "nietoperz" -a „2 USD” = "piłka"
błędy składniowe występują, jeśli $1 ma wartość '(' or '!'. Jedna z poniższych form zapobiega
Ten; preferowany jest trzeci:
test „X$1” = „Xbat” -a „X$2” = „Xball”
test „1 USD” = "nietoperz" && test „2 USD” = "piłka"
test „X$1” = „Xbat” && test „X$2” = „Xball”
PRZYKŁADY
1. Wyjdź, jeśli nie ma dwóch lub trzech argumentów (dwa warianty):
if [ $# -nie 2 ] && [ $# -nie 3 ]; następnie wyjście 1; fi
if [ $# −lt 2 ] || [ $# −gt 3 ]; następnie wyjście 1; fi
2. Wykonaj mkdir jeśli katalog nie istnieje:
test ! -d tempdira && mkdir tempdira
3. Poczekaj, aż plik stanie się nieczytelny:
Podczas test −r plik
do
spać 30
zrobić
przegapić '"plik" is Nie dłużej czytelny'
4. Wykonaj polecenie, jeśli argumentem jest jeden z trzech ciągów znaków (dwie odmiany):
if [ „1 USD” = "gruszka" ] || [ „1 USD” = "winogrono" ] || [ „1 USD” = "jabłko" ]
następnie
komenda
fi
sprawa „$ 1” w
gruszka|winogrono|jabłko) komenda ;;
to C
RACJONALNE UZASADNIENIE
Polecenie warunkowe wywodzące się z KornShell (podwójny nawias [[]]) został usunięty z muszli
opis języka poleceń we wczesnej propozycji. Pojawiły się zastrzeżenia, że real
problemem jest niewłaściwe użycie test dowództwo ([), a umieszczenie go w powłoce jest złym sposobem
naprawić problem. Zamiast tego odpowiednia dokumentacja i nowe słowo zastrzeżone powłoki (!) są
wystarczający.
Testy wymagające wielu test operacje można wykonywać na poziomie powłoki za pomocą
indywidualne wywołania test poleceń i logiki powłoki, zamiast używać
podatne na błędy -o flaga test.
Systemy zgodne z XSI obsługują więcej niż cztery argumenty.
Systemy zgodne z XSI obsługują łączenie elementów podstawowych z następującymi konstrukcjami:
wyrażenie1 -a wyrażenie2
Prawda, jeśli oba wyrażenie1 i wyrażenie2 są prawdziwe.
wyrażenie1 -o wyrażenie2
To prawda, jeśli przynajmniej jeden z wyrażenie1 i wyrażenie2 są prawdziwe.
( wyrażenie )
Prawda, jeśli wyrażenie jest prawdziwy.
Przy ocenie tych bardziej złożonych wyrażeń złożonych obowiązują następujące zasady pierwszeństwa
używany:
* Jednoargumentowe jednostki podstawowe mają wyższy priorytet niż algebraiczne jednostki binarne.
* Jednoargumentowe jednostki podstawowe mają niższy priorytet niż binarne jednostki łańcuchowe.
* Jednoargumentowe i binarne prawybory mają wyższy priorytet niż jednoargumentowe ciąg podstawowa.
* ! operator ma wyższy priorytet niż -a operatora, a -a operator ma
wyższy priorytet niż -o operator.
* -a i -o operatory pozostają asocjacyjne.
* Nawiasów można używać do zmiany normalnego pierwszeństwa i łączenia.
Wersje BSD i System V −f nie są takie same. Definicja BSD brzmiała:
−f filet Prawda, jeśli filet istnieje i nie jest katalogiem.
Wybrano w tym celu wersję SVID (prawda, jeśli plik istnieje i jest to zwykły plik).
tomu POSIX.1-2008, ponieważ jego użycie jest zgodne z −b, −c, -d, −str operandy
(filet istnieje i ma określony typ pliku).
Opona -tj basic, posiadający funkcjonalność podobną do tej zapewnianej przez powłokę C
dodany, ponieważ zapewnia skryptowi powłoki jedyny sposób sprawdzenia, czy plik istnieje
bez próby otwarcia pliku. Ponieważ implementacje mogą dodawać dodatkowy plik
typów, przenośny skrypt nie może używać:
test −b bla -o −c bla -o -d bla -o −f bla -o −str bla
aby dowiedzieć się, czy bla jest istniejącym plikiem. W historycznych systemach BSD istnienie pliku
można określić poprzez:
test −f bla -o -d bla
ale nie było łatwego sposobu ustalenia, czy istniejący plik jest zwykłym plikiem. Wcześnie
propozycja wykorzystywała KornShell -a basic (o tym samym znaczeniu), ale zostało to zmienione na -tj
ponieważ istniały obawy dotyczące wysokiego prawdopodobieństwa pomylenia przez ludzi -a pierwotny
z -a operator binarny.
Poniższe opcje nie zostały uwzględnione w tym tomie POSIX.1-2008, chociaż są
zapewniane przez niektóre wdrożenia. Operandy te nie powinny być używane w nowych implementacjach
do innych celów:
−k filet Prawda, jeśli filet istnieje, a jego lepki bit jest ustawiony.
−C filet Prawda, jeśli filet jest plikiem ciągłym.
−V filet Prawda, jeśli filet jest plikiem wersji.
Następująca opcja nie została uwzględniona, ponieważ w większości wdrożeń była nieudokumentowana,
został usunięty z niektórych implementacji (w tym z Systemu V), a funkcjonalność jest taka
dostarczane przez powłokę (patrz Sekcja 2.6.2, Parametr Ekspansja.
-l ciąg Długość sznurka ciąg.
Opona −b, −c, −g, −str, -u, −x operandy pochodzą z SVID; historyczne BSD tego nie robi
je zapewnić. The −k operand pochodzi z Systemu V; historyczne BSD tego nie zapewnia.
W historycznych systemach BSD test -w katalog zawsze zwracał wartość false, ponieważ test próbował
otwórz katalog do zapisu, co zawsze kończy się niepowodzeniem.
Niektóre dodatkowe prawybory, nowo wynalezione lub z KornShell, pojawiły się wcześnie
propozycja jako część polecenia warunkowego ([[]]): s1 > s2, s1 < s2, str = wzorzec, str
!= wzorzec, f1 −nie f2, f1 −ot f2, f1 −ef f2. Nie zostały one przeniesione do
test narzędzie, gdy polecenie warunkowe zostało usunięte z powłoki, ponieważ tak nie było
została uwzględniona w test Narzędzie wbudowane w historyczne implementacje sh użyteczność.
Opona −t deskryptor_pliku podstawowy jest pokazany z obowiązkowym argumentem, ponieważ gramatyka jest
niejednoznaczne, jeśli można je pominąć. Wdrożenia historyczne pozwoliły na pominięcie tego,
podając wartość domyślną 1.
Należy zauważyć, że '[' nie jest częścią zestawu znaków nazwy pliku przenośnego; jednak od tego
musi być zakodowany w jednym bajcie i jest częścią przenośnego zestawu znaków,
nazwa tego narzędzia tworzy ciąg znaków we wszystkich obsługiwanych lokalizacjach.
PRZYSZŁOŚĆ KIERUNKI
Brak.
Korzystaj z testposix online, korzystając z usług onworks.net