Ten przewodnik pokazuje, jak korzystać z polecenia testowego Bash.
Polecenie testowe
Polecenie testowe wymaga WYRAŻENIE jako argument. Po obliczeniu wyrażenia test zwraca wartość do zmiennej Bash „$?". Jeśli wartość wynosi 0, wówczas ocena wyrażenia była prawdziwa. Jeśli wartość wynosi 1, wówczas ocena wyrażenia była fałszywa.
Istnieją dwie składni do korzystania z polecenia testowego.
$ Wyrażenie testowe
$ [Wyrażenie]
Zauważ, że w przypadku „[” na obu końcach WYRAŻENIE.
Wykorzystanie testów
Oto krótki przykład działania polecenia testowego. Będziemy sprawdzić, czy 1 równa się 2. Jeśli prawda, to wyjście będzie „prawdziwe”. W przeciwnym razie wyjście będzie „fałszywe”.
$ TEST 1 -EQ 2 && ECHO „True” || echo „fałszywe”
Rozbijmy to.
Jeśli część testowa jest prawdziwa, wówczas pierwsze polecenie Echo zostanie wykonane. W przeciwnym razie wykonanie drugiego polecenia Echo.
To samo polecenie można wyrazić za pomocą „[”.
$ [1 -eq 2] && echo „true” || echo „fałszywe”
Wyrażenie
Wyrażenie daje testowi polecenie jego prawdziwej mocy. Test może używać ciągów, plików i liczb całkowitych do porównania. Oto szybka lista wszystkich dostępnych formatów wyrażeń testowych.
Strunowy
W programowaniu ciąg jest zestawem znaków, które są zwykle używane do reprezentowania tekstu. Na przykład „Hello World” w następującym poleceniu Echo jest traktowane jako ciąg.
$ echo „Hello World."
Polecenie testowe obsługuje następujące wyrażenia ciągów.
Wypróbujmy te wyrażenia.
$ [-n „Hello World”] && echo „true” || echo „fałszywe”
$ [-z „Hello World”] && echo „true” || echo „fałszywe”
$ [„Hello World” != „Hello World”] && Echo „True” || echo „fałszywe”
$ [„Hello World” = „Hello World”] && Echo „True” || echo „fałszywe”
Liczba całkowita
Pierwszy przykład w tym przewodniku pokazuje porównanie liczb całkowitych. Istnieje więcej sposobów porównywania liczb całkowitych.
Uruchommy te wyrażenia.
$ [5 -eq 10] && echo „true” || echo „fałszywe”
$ [5 -GT 2] && echo „true” || echo „fałszywe”
$ [4 -le 5] && echo „true” || echo „fałszywe”
Plik
Pliki mogą być również częścią wyrażenia. Oto lista obsługiwanych wyrażeń plików.
Reszta obsługiwanych wyrażeń plików jest powiązana z pojedynczą właściwością jednego pliku.
Rzućmy okiem na niektóre przykłady.
$ [-x/usr/bin/bash] && echo $?
$ [-s /bin /bash] && echo $?
$ [-r /bin] && echo $?
$ [-e /hello_world] && echo „true” || echo „fałszywe”
Wdrażanie testu w skryptach Bash
Do tej pory wykazaliśmy, jak użyć polecenia testowego, aby ustalić, czy określony warunek jest prawdziwy, czy fałszywy. Możemy to zaimplementować w scenariuszach BASH, aby podejmować przydatne decyzje.
Spójrz na następujący krótki skrypt.
#!/bin/bash
jeśli [$ (whoami) = root]; Następnie
echo „root”
w przeciwnym razie
echo „nie root”
fi
Tutaj stwierdzenie IF sprawdzi, czy warunek jest prawdziwy, czy fałszywy. Korzystając z polecenia testowego, możemy łatwo uzyskać wartość logiczną.
Uruchom skrypt z przywilejem korzeni i bez.
$ ./atrapa.cii
$ sudo ./atrapa.cii
To prosta demonstracja oświadczenia IF-Else. Zapraszam do sprawdzenia stwierdzeń Bash IF-Else w celu uzyskania dalszych szczegółowych zastosowań.
Końcowe przemyślenia
Polecenie testowe jest proste, ale potężne. Ten przewodnik wyjaśnia i pokazuje różne sposoby korzystania z testu. Pełna lista wszystkich obsługiwanych wyrażeń jest dostępna na stronie Man.
test $ man
Szczęśliwy komputer!