Zacząłem od bash i znalazłem:
if test $first -lt $second then echo $first is lower than $second else if test $first -gt $second then echo $first is higher than $second else echo $first and $second are equals fi fi
Jeśli chodzi o czytanie i wykonywanie skryptu, wiem, do czego służy, ale nie do czego służą -lt i -gt.
Czy ktoś może mi powiedzieć, jak się nazywa tego rodzaju „narzędzie” i co one (-lt i -gt) robią? Dzięki!
Komentarze
Odpowiedź
To skrót od less than
i greater than
. Jest używany do porównywania liczb całkowitych w bashu. Możesz przeczytać więcej, wpisując man test
:
.... INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 .... INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 ....
Odpowiedź
Definicję -lt
i -gt
można znaleźć w dokumentacja polecenia test
(man test
) lub w dokumentacja basha od test
jest poleceniem wbudowanym w bash (podobnie jak w większości innych powłok).
-lt
i -gt
to porównania numeryczne (mniejsze-niż [i nie równe], większe-niż [i nierówne]). Istnieją również operatory mniejszy / większy lub równy -le
i -ge
oraz operatory równości i nierówności -eq
i -ne
. Są to operatory numeryczne, więc wystąpi błąd, jeśli po którejkolwiek stronie nie ma„ ta liczba ”, a 9
jest ered mniej niż 10
.
Powody takie jak -lt
są używane zamiast zwykłych <
oznacza, że znak <
byłby interpretowany jako przekierowanie. Operatory =
i !=
również istnieją, ale wykonują porównanie ciągów: test 00 -eq 0
to true, podczas gdy test 00 = 0
to fałsz.
Niektóre powłoki, w tym bash, mają również operatory <
i , które wykonują leksykograficzne porównanie ciągów, więc test 9 \< 10
jest fałszywe, ponieważ 9
jest sortowane przed 1
(ukośnik odwrotny zapobiega interpretowaniu znaku <
jako operatora przekierowania). Te powłoki oferują również składnię podwójnych nawiasów do testów, np. [[ 9 < 10 ]]
(w przeciwieństwie do [ 9 \< 10 ]
), które nie może zawierać przekierowań w środku, więc <
nie musi być cytowany.
Odpowiedź
To tylko operatory.
Po prostu: gt
i lt
mean> (większe niż) i < (mniejsze niż).
Możesz zajrzeć tutaj , aby uzyskać więcej informacji o operatorach:
Odpowiedź
To są operatory porównania
-lt = mniej niż
-gt = większe niż
Możesz sprawdzić tę stronę pod kątem dalsze szczegóły:
echo
w kodzie odpowiadają na Twoje pytanie.