Come confrontare le stringhe in Bash

How Compare Strings Bash



Per scopi di programmazione diversi, dobbiamo confrontare il valore di due stringhe. Le funzioni integrate vengono utilizzate in molti linguaggi di programmazione per testare l'uguaglianza di due stringhe. Puoi controllare l'uguaglianza e la disuguaglianza di due stringhe in bash usando Se dichiarazione. == è usato per verificare l'uguaglianza e ! = viene utilizzato per verificare la disuguaglianza delle stringhe. Puoi confrontare parzialmente i valori di due stringhe anche in bash. Come puoi confrontare i valori delle stringhe in bash è mostrato usando vari esempi in questo tutorial.

Esempio 1: confronto di stringhe utilizzando gli operatori ==

Non esiste una funzione di confronto integrata per verificare l'uguaglianza di due valori stringa in bash come altri linguaggi di programmazione standard. Nello script seguente, due variabili stringa, strval1 e strval2 sono dichiarati. L'equità di queste due variabili stringa viene testata utilizzando la prima Se dichiarazione della sceneggiatura. Il valore di strval1 viene confrontato con un valore stringa per verificare l'uguaglianza nel secondo Se dichiarazione.







#!/bin/bash

strval1='Ubuntu'
strval2='Finestre'

#Controlla l'uguaglianza di due variabili stringa

Se [ $ strval1==$strval2 ];poi
buttato fuori 'Le corde sono uguali'
altro
buttato fuori 'Le stringhe non sono uguali'
essere

#Controlla l'uguaglianza di una variabile con un valore stringa

Se [ $ strval1=='Ubuntu' ];poi
buttato fuori 'Sistema operativo Linux'
altro
buttato fuori 'Sistema operativo Windows'
essere

Produzione:



Il primo confronto non è uguale e il secondo confronto è uguale.







Esempio 2: confronto di stringhe utilizzando l'operatore !=

La disuguaglianza di due variabili stringa viene verificata nell'esempio seguente. Qui due valori non sono uguali. Quindi, se la condizione sarà vera e Sistema operativo Windows stamperà.

#!/bin/bash

strval1='Ubuntu'
strval2='Finestre'

#Controlla la disuguaglianza di una variabile con un valore stringa

Se [ $strval2 !='Ubuntu' ];poi
buttato fuori 'Sistema operativo Windows'
altro
buttato fuori 'Sistema operativo Linux'
essere

Produzione:



Esempio 3: confronto parziale di stringhe

Puoi confrontare il valore parziale usando il carattere jolly nello script bash. Nello script seguente, * viene utilizzato come carattere jolly per la corrispondenza parziale. La variabile stringa, stravagante contiene la parola Internet. Quindi, il primo Se dello script restituirà true e stamperà Corrispondenza parziale . Bash fa distinzione tra maiuscole e minuscole. Per questo, il secondo Se dello script restituirà false per l'utilizzo di Internet come stringa parziale che non è uguale al confronto letterale.

#!/bin/bash

stravagante='Microsoft Internet Explorer'

Se [[ $ strval==*Internet* ]];
poi
buttato fuori 'Corrispondenza parziale'
altro
buttato fuori 'Nessuna corrispondenza'
essere

Se [[ $ strval==*Internet* ]];
poi
buttato fuori 'Corrispondenza parziale'
altro
buttato fuori 'Nessuna corrispondenza'
essere

Produzione:

Esempio-4: confrontare la stringa con il valore di input dell'utente

A volte, abbiamo bisogno di confrontare il valore di stringa preso dall'utente con un valore di stringa specifico per scopi di programmazione. Nell'esempio seguente, una stringa di dati verrà presa dall'utente come input e confrontata la disuguaglianza dei dati con un valore fisso. Se la condizione è vera, verrà stampata Nessun record trovato , altrimenti verrà stampato Record trovato .

#!/bin/bash

buttato fuori 'Inserisci il tuo nome'
leggereingresso

Se [ $input !='Fahmida' ];
poi
buttato fuori 'Nessun record trovato'
altro
buttato fuori 'Record trovato'
essere

Produzione:

Il video di questa lezione è qui:

L'attività di confronto delle stringhe in bash sarà più facile per te dopo aver completato gli esempi sopra con una chiara comprensione.