Guida per principianti A BASH - Comparing Things
Nella parte precedente del tutorial di BASH abbiamo esaminato le dichiarazioni condizionali.
Quella guida era molto lunga ma in realtà mostrava solo come controllare il flusso della logica. Questa guida mostra i diversi modi in cui è possibile confrontare le variabili.
L'immagine sopra mostra il primo esempio nella guida di questa settimana:
#! / Bin / bashnome1 = "gary"nome2 = "bob"if "$ nome1" = "$ nome2"poi echo "i nomi corrispondono"altro echo "i nomi non corrispondono"fiNello script di cui sopra ho definito due variabili chiamate name1 e name2 assegnandole i valori "gary" e "bob". Poiché le variabili sono contenute tra virgolette, vengono chiamate variabili stringa che diventano più rilevanti man mano che il tutorial prosegue. Tutto lo script è confrontare il valore di $ nome1 e $ nome2 e se corrispondono alla stringa "i nomi corrispondono" e se non restituiscono la stringa "i nomi non corrispondono". Le virgolette attorno alle variabili $ name1 e $ name2 sono importanti perché se il valore di ognuna di esse non è stato impostato, lo script funzionerà comunque. Ad esempio, se $ name1 non è mai stato impostato, verrebbe confrontato "" con "bob". Senza le virgolette verrebbe lasciato con = "bob" che chiaramente fallisce. Puoi anche usare la notazione! = Per definire non uguale a come segue: Nell'esempio sopra, il test confronta le stesse due stringhe e pone la domanda: prima arriva Bob nell'alfabeto? Chiaramente la risposta è no. Lo script introduce l'operatore minore di (<). Siccome l'operatore di meno che viene usato anche per il reindirizzamento, devi sfuggire con una barra () perché significhi meno di che sia il motivo per cui nello script sopra ho confrontato "$ nome1" <"$ nome2". Il contrario di meno di è ovviamente maggiore di. Invece di usare <use >. Per esempio Se vuoi verificare se una variabile ha un valore puoi usare il seguente test: Nello script sopra ho verificato se $ name2 ha ricevuto un valore e se non ha il messaggio "Non c'è bob, non è mai apparso un bob". Nella slide precedente abbiamo trattato se una variabile è stata impostata o meno. A volte è possibile che sia stata impostata una variabile ma potrebbe non avere un valore. Per esempio: Per verificare se una variabile ha un valore o meno (cioè ha una lunghezza pari a zero) usa -z come segue: Nello script sopra ho impostato $ name1 su una stringa di lunghezza zero e poi confrontato usando -z. Se $ nome1 è pari a zero, verrà visualizzato il messaggio "gary è uscito per la sera". Finora tutti i confronti sono stati per gli archi. Che dire del confronto dei numeri? Lo script sopra mostra un esempio di confronto di due numeri: Per impostare una variabile come numero basta impostarla senza virgolette. È quindi possibile confrontare i numeri con un segno di uguale. Preferisco comunque utilizzare il seguente operatore per confrontare due numeri: Se si desidera confrontare se un numero è inferiore a un altro numero, è possibile utilizzare l'operatore minore di (<). Come con le stringhe, devi sfuggire all'operatore con una barra. ( <). Un modo migliore per confrontare i numeri consiste nell'utilizzare la seguente notazione: Per esempio: Infine, per questa guida, se si desidera verificare se due numeri sono diversi, è possibile utilizzare gli operatori minore di e maggiore di quello (<>) o -ne come segue: Se hai perso le prime tre parti di questa guida, le puoi trovare cliccando sui seguenti link: Nella prossima parte della guida tratterò l'aritmetica. Guida per principianti A BASH - Confronto stringhe
Guida per principianti A BASH - Confronto stringhe
Guida per principianti A BASH - Confronto stringhe
Guida per principianti A BASH - Confronto di numeri
Guida per principianti A BASH - Confronto di numeri
Guida per principianti A BASH - Confronto di numeri
Guida per principianti A BASH - Comparison Operators - Summary