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/bashstrval1='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/bashstravagante='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/bashbuttato 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.