Come confronto i numeri in bash?

Come confronto i numeri in bash?
Hai imparato le numerose operazioni di confronto che possono essere utilizzate per contrastare le variabili nel bash. Ma a volte, potresti affrontare numerose situazioni in cui devi sviluppare script per svolgere attività specifiche ed eseguire lo script più volte in base a valori specifici interi in bash. In queste situazioni, possiamo utilizzare gli operatori bash per fare confronti dei numeri interi.

Modi diversi di confrontare le variabili interi negli script bash:

Per il confronto dei numeri interi, useremo due degli operatori importanti in Bash per ottenere i confronti che sono quadrati e doppi pareti.

Way 01: parentecinetti quadrati singoli

Le parentesi quadrate "[]" sono anche definite parenti quadrati singoli per testare il comando in Bash Scripting. Includiamo alcuni esempi che dimostrano l'idea di Bash Scripting su Linux, in modo da poter implementare rapidamente i vari operatori di Bash. Ecco alcuni esempi di utilizzo di diversi operatori in parenti quadrati singoli.

Esempio 01: utilizzo degli operatori "-eq" e "-ne"

Mettiamo in pratica l'operatore "-eq", che determina se diverse variabili sono equivalenti allo scripting bash come dimostrazione iniziale di un operatore di confronto. Per iniziare a mettere in pratica l'esempio, dobbiamo prima creare un file di scripting bash utilizzando la parola chiave "touch" nel nome del file e aggiungendo l'estensione "sh". L'intero comando di creazione di file è il seguente:

Linux@linux-virtualbox: ~ $ touch confronta.sh

Quando viene inserito il comando sopra menzionato, un file chiamato "Confronta.Sh ”sarà prodotto. In modo che possiamo mettere in azione il codice, vogliamo quindi entrare nell'editore "nano". Per raggiungere questo obiettivo, aggiungeremo il "confronto.comando sh "dopo la parola chiave" nano "come mostrato di seguito:

Linux@linux-virtualbox: ~ $ nano confronta.sh

Viene premuto l'editor Nano dopo l'ingresso. In modo che possiamo confrontare i due numeri interi, dobbiamo scrivere il codice necessario in questa sezione.

1: uguale all'operatore "-eq"

Abbiamo usato due variabili in questo codice chiamato "variabile1" e "variabile2" e abbiamo usato la parola chiave "leggi" che otterrà i valori di queste variabili dall'utente al tempo di esecuzione, rispettivamente. L'istruzione "if" è stata quindi utilizzata per determinare se i numeri interi sono uguali.

Echo "Immettere una variabile intera input1:"
Leggi variabile1
Echo "Immettere una variabile intera input2:"
Leggi variabile2
se [$ variabile1 -eq $ variabile2];
Poi
Echo "Entrambe le variabili interi input sono uguali ..."
altro
Echo "entrambe le variabili interi input non sono uguali ..."
fi

Per chiudere l'editor Nano dopo aver finito di scrivere il programma, digita “Ctrl + X."Quindi, siamo tornati al terminale Linux principale ancora una volta. Scrivi "Bash" e il nome del file per eseguire il codice.

Linux@linux-virtualbox: ~ $ bash confronta.sh

Il risultato dell'esecuzione del codice mostrato sopra è visto qui:

Immettere una variabile intera input1:
100
Immettere una variabile intera input2:
100
Entrambe le variabili intera di input sono uguali ..

2: non uguale all'operatore "-ne"

Ora useremo l'operatore di confronto "-ne" che significa "non uguale a". Attraverso questo operatore, verificheremo che "variabile1" non sia uguale a "variabile2" nello scripting bash. Per questo, abbiamo apportato alcune modifiche nello stesso file sopra che è "Confronta. sh". Nel codice modificato, abbiamo appena modificato i valori e l'operatore "-eq" con "-ne" come mostrato di seguito:

Echo "Immettere una variabile intera input1:"
Leggi variabile1
Echo "Immettere una variabile intera input2:"
Leggi variabile2
se [$ variabile1 -ne $ variabile2];
Poi
Echo "entrambe le variabili interi input non sono uguali ..."
altro
Echo "Entrambe le variabili interi input sono uguali ..."
fi

Ecco l'output desiderato mostrato nell'immagine qui sotto:

Immettere una variabile intera input1:
50
Immettere una variabile intera input2:
100
Entrambe le variabili intera di input non sono uguali ..

Esempio 02: utilizzo degli operatori "-gt" e "-lt"

Questo è un altro illustrazione di come utilizzare gli operatori di confronto "-gt" e "-lt" nel codice. Valuteremo se "variabile1" è maggiore o inferiore a "variabile2" nell'istanza.

1: maggiore dell'operatore "-gt"

Innanzitutto, determiniamo se la variabile 1 supera o non supera la variabile 2. Lo snippet di codice che dimostra come viene implementato l'operatore "-gt" è mostrato di seguito.

Echo "Immettere una variabile intera input1:"
Leggi variabile1
Echo "Immettere una variabile intera input2:"
Leggi variabile2
se [$ variabile1 -gt $ variabile2];
Poi
Echo "La variabile1 è maggiore di variabile2 ..."
altro
Echo "La variabile1 non è maggiore della variabile2 ..."
fi

Quando abbiamo eseguito lo script, il risultato ha mostrato che "variabile1" era maggiore di "variabile2".

Immettere una variabile intera input1:
98
Immettere una variabile intera input2:
96
La variabile1 è maggiore di variabile2 ..

2: meno dell'operatore "-lt"

Ora, usando l'operatore "-lt" negli script bash, determineremo se "variabile1" è inferiore a "variabile2" o no.

Echo "Immettere una variabile intera input1:"
Leggi variabile1
Echo "Immettere una variabile intera input2:"
Leggi variabile2
se [$ variabile1 -lt $ variabile2];
Poi
Echo "La variabile1 è inferiore a variabile2 ..."
altro
Echo "La variabile1 non è inferiore a variabile2 ..."
fi

Considera i risultati dell'esempio sopra riportato:

Immettere una variabile intera input1:
96
Immettere una variabile intera input2:
98
La variabile1 è inferiore a variabile2 ..

Esempio 03: utilizzo dell'operatore "-ge" e "-le"

In questo esempio, verificheremo se la variabile1 è maggiore o inferiore a variabile2 e se potrebbe essere uguale o meno a variabile2.

1: maggiore o uguale all'operatore "-ge":

Useremo l'operatore "-ge" per verificare se la "variabile1" contiene un valore maggiore o un valore equalizzato a "variabile2".

Echo "Immettere una variabile intera input1:"
Leggi variabile1
Echo "Immettere una variabile intera input2:"
Leggi variabile2
se [$ variabile1 -ge $ variabile2];
Poi
Echo "La variabile1 è maggiore o uguale alla variabile 2 ..."
altro
Echo "La variabile1 non è maggiore o non uguale a variabile2 ..."
fi

Scrivendo il "Bash Confronta.sh ", abbiamo l'output desiderato:

Immettere una variabile intera input1:
25
Immettere una variabile intera input2:
24
La variabile1 è maggiore o uguale a variabile2 ..

2: meno o uguale all'operatore "-le"

Ora impiegheremo l'operatore "-le" nel codice esistente in modo da poter verificare se il valore di "variabile1" è inferiore o uguale al valore "variabile2".

Echo "Immettere una variabile intera input1:"
Leggi variabile1
Echo "Immettere una variabile intera input2:"
Leggi variabile2
se [$ variabile1 -le $ variabile2];
Poi
Echo "La variabile1 è inferiore o uguale a variabile2 ..."
altro
Echo "La variabile1 non è inferiore o non uguale a variabile2 ..."
fi

Guarda l'uscita nel terminale Linux:

Immettere una variabile intera input1:
11
Immettere una variabile intera input2:
11
La variabile1 è inferiore o uguale a variabile2 ..

Way 02: doppi pareti quadrate

Le doppie parentesi Braces “[]]” fanno lo stesso lavoro delle parentesi graffette in bash. Ma in cambio, il bash non restituirà nulla tranne 0 se la condizione è vera e restituirà 1 se la condizione è falsa. Ora, implementeremo diversi esempi del secondo modo di utilizzare l'operatore di confronto negli script bash.

Esempio 01: utilizzo dell'operatore ()

Di seguito è riportata una situazione specifica di un rinforzo a doppia quadrata in cui applicheremo il ">" e "<” indicators to determine if the value of “variable1” is greater than or less than the “variable2” parameter. First, we have created an entirely new file for the double square brackets technique for that:

Linux@linux-virtualbox: ~ $ touch double.sh

Abbiamo usato il comando nano per inserire il nano editor:

Linux@linux-virtualbox: ~ $ nano doppio.sh

Il nostro attuale editore è il nano editore. Cominciamo scrivendo un po 'di codice:

1: meno di “<” Operator

Ecco l'esempio di meno di, in cui abbiamo due variabili e otterremo i valori dall'utente, quindi abbiamo usato "lettura". Quindi, eseguiremo l'operazione inferiore a queste variabili.

Echo "Immettere una variabile intera input1:"
Leggi variabile1
Echo "Immettere una variabile intera input2:"
Leggi variabile2
if (($ variabile1 < $variable2 ));
Poi
Echo "La condizione è vera"
echo "return 0"
altro
Echo "La condizione è falsa"
echo "return 1"
fi

Per compilare lo script, abbiamo usato il comando "bash" insieme al nome del file:

Linux@Linux-Virtualbox: ~ $ Bash Double.sh

Ecco l'output:

Immettere una variabile intera input1:
76
Immettere una variabile intera input2:
102
La condizione è vera
Restituzione 0

2: maggiore dell'operatore ">"

Ora useremo il prossimo operatore, il simbolo ">", per determinare se il valore "variabile1" è maggiore o no. Come puoi vedere, in questo caso:

Echo "Immettere una variabile intera input1:"
Leggi variabile1
Echo "Immettere una variabile intera input2:"
Leggi variabile2
if (($ variabile1> $ variabile2));
Poi
Echo "La condizione è vera"
echo "return 0"
altro
Echo "La condizione è falsa"
echo "return 1"
fi

Seguendo l'esecuzione dello script nel terminale Linux, abbiamo ottenuto questo output:

Immettere una variabile intera input1:
27
Immettere una variabile intera input2:
22
La condizione è vera
Restituzione 0

Esempio 02: utilizzo degli operatori (=)

Ora che il secondo esempio è stato implementato, possiamo utilizzare l'operatore di script bash “> =” per determinare se il valore di variabile1 è inferiore o uguale al valore di variabile2.

1: meno o uguale a "<=” Operator

In questo caso, controlleremo il valore inferiore o uguale in queste variabili e stamperemo l'output.

Echo "Immettere una variabile intera input1:"
Leggi variabile1
Echo "Immettere una variabile intera input2:"
Leggi variabile2
if (($ variabile1 <= $variable2 ));
Poi
Echo "La condizione è vera"
echo "return 0"
altro
Echo "La condizione è falsa"
echo "return 1"
fi

Il risultato della dimostrazione di cui sopra viene visualizzato nello screenshot seguente:

Immettere una variabile intera input1:
65
Immettere una variabile intera input2:
65
La condizione è vera
Restituzione 0

2: maggiore o uguale all'operatore “> =”

Nell'esempio seguente, l'operatore "> =" dello script bash viene utilizzato per verificare se "D1" e "D2" hanno valori più grandi o uguali.

Echo "Immettere una variabile intera input1:"
Leggi variabile1
Echo "Immettere una variabile intera input2:"
Leggi variabile2
if (($ variabile1> = $ variabile2));
Poi
Echo "La condizione è vera"
echo "return 0"
altro
Echo "La condizione è falsa"
echo "return 1"
fi

Seguendo i risultati previsti dell'esempio:

Immettere una variabile intera input1:
44
Immettere una variabile intera input2:
44
La condizione è vera
Restituzione 0

Conclusione

Abbiamo imparato come usare lo script bash per confrontare i numeri interi. Inoltre, abbiamo trattato come utilizzare più operatori in uno script bash. Con spiegazioni approfondite, abbiamo costruito numerosi esempi di questi operatori in Bash Scripting.