Come confrontare le stringhe in bash

Come confrontare le stringhe in bash

Per diversi scopi di programmazione, dobbiamo confrontare il valore di due stringhe. Le funzioni integrate sono 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. "=="Viene utilizzato per controllare l'uguaglianza e"!="Viene utilizzato per controllare la disuguaglianza delle corde. È possibile confrontare parzialmente i valori di due stringhe anche in bash. Come puoi confrontare i valori stringa in bash viene mostrato usando vari esempi in questo tutorial.

Esempio-1: confronto di stringhe usando operatori "=="

Non esiste una funzione di confronto integrata per controllare l'uguaglianza di due valori di stringa in bash come altri linguaggi di programmazione standard. Nello script seguente, due variabili di stringa, strval1 E strval2 sono dichiarati. L'equità di queste due variabili di stringa viene testata usando il primo Se Dichiarazione dello script. Il valore di strval1 viene confrontato con un valore di stringa per verificare l'uguaglianza nel secondo Se dichiarazione.

#!/Bin/Bash
strval1 = "ubuntu"
strval2 = "Windows"
#Check Equality Variabili a due stringa
se [$ strval1 == $ strval2]; Poi
eco "le stringhe sono uguali"
altro
eco "le stringhe non sono uguali"
fi
#Check l'uguaglianza di una variabile con un valore di stringa
se [$ strval1 == "ubuntu"]; Poi
Echo "Sistema operativo Linux"
altro
Echo "Sistema operativo Windows"
fi

Produzione:

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

Esempio-2: confronto di stringhe usando "!= ”Operatore

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

#!/Bin/Bash
strval1 = "ubuntu"
strval2 = "Windows"
#Check Inequality di una variabile con un valore di stringa
Se [$ strval2 != "Ubuntu"]; Poi
Echo "Sistema operativo Windows"
altro
Echo "Sistema operativo Linux"
fi

Produzione:

Esempio-3: confronto parziale delle stringhe

Puoi confrontare il valore parziale usando il carattere wild card in Bash Script. Nello script seguente, "*" è usato come carattere jolly per la corrispondenza parziale. La variabile stringa, strval contiene la parola "Internet". Quindi, il primo Se dello script restituirà vero e stampato "Parzialmente corrispondente". Bash è sensibile al caso. Per questo, il secondo Se dello script restituirà false per l'uso di "Internet" come stringa parziale che non è uguale per confronto saggio delle lettere.

#!/Bin/Bash
strval = "Microsoft Internet Explorer"
if [[$ strval == * Internet *]];
Poi
echo "parzialmente corrispondente"
altro
Echo "No Match"
fi
if [[$ strval == * Internet *]];
Poi
echo "parzialmente corrispondente"
altro
Echo "No Match"
fi

Produzione:

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

A volte, dobbiamo confrontare il valore della stringa assunto dall'utente con un valore stringa specifico per scopi di programmazione. Nell'esempio seguente, un dati di stringa verrà preso dall'utente come input e confrontato la disuguaglianza dei dati con un valore fisso. Se la condizione è vera, allora stamperà "Nessun record trovato ", altrimenti stamperà "Record trovato".

#!/Bin/Bash
Echo "Inserisci il tuo nome"
Leggi l'input
Se [$ input != "Fahmida"];
Poi
Echo "Nessun record trovato"
altro
Echo "Record trovato"
fi

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 chiara comprensione.