Zaczynam od bash i znalazłem następujące:
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
Do czytania skryptu i wykonywania go wiem, co robi, ale nie do czego służą -lt i -gt.
Czy ktoś może mi powiedzieć, jak nazywa się tego rodzaju „narzędzie” i co robią (-lt i -gt)? Dzięki!
echo
stwierdzenia w kodzie odpowiadają na twoje pytanie.Odpowiedzi:
To jest skrót od
less than
igreater than
. Służy do porównania liczb całkowitych w bash. Możesz przeczytać więcej, piszącman test
:źródło
Możesz znaleźć definicję
-lt
i-gt
w dokumentacjitest
polecenia (man test
) lub w dokumentacji bash, ponieważtest
jest to wbudowane polecenie w bash (jak w większości innych powłok).-lt
i-gt
są porównaniami numerycznymi (mniej niż [i nie równy], większy niż [i nie równy]). Istnieją również operatory mniej / większe lub równe-le
oraz-ge
oraz równe i nierówne operatory-eq
i-ne
. Są to operatory numeryczne, więc wystąpi błąd, jeśli jedna ze stron nie będzie liczbą i9
zostanie uznana za mniejszą niż10
.Powodem, dla którego
-lt
używa się takich nazw, jak zwykle,<
jest<
interpretacja znaku jako przekierowania. Operatorzy=
i!=
istnieje również, ale wykonać porównanie wyrażenie:test 00 -eq 0
jest prawdą natomiasttest 00 = 0
jest fałszywa.Niektóre powłoki, w tym bash, również mają operatory
<
i>
które wykonują porównanie leksykograficzne ciągów, więctest 9 \< 10
jest to fałsz, ponieważ9
jest sortowany wcześniej1
(odwrotny ukośnik zapobiega interpretacji znaku<
jako operator przekierowania). Powłoki te oferują również składnię podwójnego nawiasu do testów, np.[[ 9 < 10 ]]
(W przeciwieństwie do[ 9 \< 10 ]
), które nie mogą zawierać przekierowań, więc<
nie trzeba ich cytować.źródło
Są tylko operatorami.
Po prostu:
gt
ilt
oznacza> (większe niż) i <(mniejsze niż).Możesz tu znaleźć więcej informacji na temat operatorów:
źródło
Są to operatory porównania
-lt = mniej niż
-gt = większy niż
Możesz sprawdzić tę stronę w celu uzyskania dalszych informacji:
źródło