Sto iniziando con bash e ho trovato quanto segue:
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
Per leggere lo script ed eseguirlo, so cosa fa, ma non a cosa servono -lt e -gt.
Qualcuno può dirmi qual è il nome di quel tipo di “strumento” e cosa fanno (-lt e -gt)? Grazie!
Commenti
Risposta
È labbreviazione di less than
e greater than
. Viene utilizzato per il confronto di numeri interi in bash. Puoi leggere di più digitando man test
:
.... INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 .... INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 ....
Risposta
Puoi trovare la definizione di -lt
e -gt
in la documentazione del test
comando (man test
) o in la documentazione di bash poiché test
è un comando incorporato in bash (come nella maggior parte delle altre shell).
-lt
e -gt
sono confronti numerici (minore di [e non uguale], maggiore di [e non uguale]). Esistono anche operatori minore / maggiore o uguale -le
e -ge
e operatori uguale e non uguale -eq
e -ne
. Questi sono operatori numerici, quindi si verificherà un errore se uno dei due lati non è un” numero “e 9
viene considerato ered meno di 10
.
I nomi dei motivi come -lt
vengono utilizzati al posto del solito <
è che il carattere <
verrebbe interpretato come un reindirizzamento. Esistono anche gli operatori =
e !=
, ma eseguono un confronto di stringhe: test 00 -eq 0
è true mentre test 00 = 0
è false.
Alcune shell, inclusa bash, hanno anche operatori <
e >
che esegue un confronto lessicografico di stringhe, quindi test 9 \< 10
è falso perché 9
è ordinato prima di 1
(la barra rovesciata impedisce al carattere <
di essere interpretato come un operatore di reindirizzamento). Queste shell offrono anche la sintassi a doppia parentesi per i test, ad es. [[ 9 < 10 ]]
(al contrario di [ 9 \< 10 ]
), che “non può avere reindirizzamenti al suo interno, quindi <
non è necessario citare.
Risposta
Sono solo operatori.
Semplicemente: gt
e lt
mean> (maggiore di) e < (minore di).
Puoi guardare qui per ulteriori informazioni sugli operatori:
Risposta
Questi sono operatori di confronto
-lt = minore di
-gt = maggiore di
Puoi controllare questa pagina per ulteriori dettagli:
echo
istruzioni nel codice rispondono alla tua domanda.