Zaczynając od bash: -lt i -gt argumenty

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

  • Przepraszamy, ale warto wskazać że stwierdzenia echo w kodzie odpowiadają na Twoje pytanie.
  • Wokół zmiennych brakuje cudzysłowów.

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:

http://tldp.org/LDP/abs/html/comparison-ops.html

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *