Počínaje argumenty bash: -lt a -gt

Začínám bash a našel jsem následující:

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 

Po přečtení a provedení skriptu vím, co dělá, ale ne to, k čemu jsou -lt a -gt.

Může mi někdo říct, jak se jmenuje tento druh „nástroje“ a co dělají (-lt a -gt)? Díky!

Komentáře

  • Omlouvám se, ale cítím, že bych měl ukázat ukázalo se, že echo příkazy v kódu odpovídají na vaši otázku.
  • U proměnných chybí uvozovky

Odpověď

Je to zkratka pro less than a greater than. Používá se k celočíselnému porovnání v bash. Další informace si můžete přečíst zadáním man test:

 .... INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 .... INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 .... 

Odpověď

Definici -lt a -gt najdete v dokumentace příkazu test (man test) nebo v dokumentace bash, protože test je vestavěný příkaz v bash (jako ve většině ostatních shellů).

-lt a -gt jsou numerická srovnání (menší než [a nerovná se], větší než [a nerovná se]). Existují také operátory menší / větší nebo rovné -le a -ge a operátory stejné a nerovnocenné -eq a -ne. Jedná se o číselné operátory, takže dojde k chybě, pokud některá strana nebude číslo a 9 je brána v úvahu méně než 10.

Názvy důvodů jako -lt se používají spíše než obvyklé < je, že znak < bude interpretován jako přesměrování. Existují také operátory = a !=, ale provádějí porovnání řetězců: test 00 -eq 0 je true vzhledem k tomu, že test 00 = 0 je false.

Některé skořápky, včetně bash, mají také operátory < a > které provádějí řetězcové lexikografické srovnání, takže test 9 \< 10 je nepravdivý, protože 9 je seřazen před 1 (zpětné lomítko brání interpretaci znaku < jako operátoru přesměrování). Tyto skořápky také nabízejí syntaxi dvojitých závorek pro testy, např. [[ 9 < 10 ]] (na rozdíl od [ 9 \< 10 ]), které uvnitř nemohou mít přesměrování, takže < není třeba citovat.

Odpověď

Jsou to pouze operátoři.

Jednoduše: gt a lt mean> (větší než) a < (menší než).

Další informace o operátorech najdete zde :

Odpovědět

Toto jsou operátory porovnání

-lt = menší než

-gt = větší než

Tuto stránku můžete zkontrolovat další podrobnosti:

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *