A partire da bash: -lt e -gt argomenti

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

  • Scusa, ma mi sento di indicare fuori che le echo istruzioni nel codice rispondono alla tua domanda.
  • Mancano virgolette intorno alle variabili

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:

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *