Ricerca nel sito web

Come usare bash if -z e if -n per testare le stringhe in Linux


Su questa pagina

  1. Uso dell'operatore if -n quando String è Null
  2. Uso di if -n quando String non è Null
  3. Uso di if -z quando String è Null
  4. Uso di if -z quando String non è Null
  5. Uso di if -z durante l'acquisizione dell'input dell'utente della stringa
  6. Conclusione

Esistono diversi operatori di stringa disponibili nel linguaggio di scripting bash che possono essere utilizzati per testare le stringhe. Gli operatori -z e -n vengono utilizzati per verificare se la stringa è Null o meno. In questa guida testeremo questi operatori di stringa utilizzando l'istruzione if in Centos 8.

In questa guida imparerai a conoscere le seguenti stringhe di test:

  • If-n quando String è Null.
  • If-n quando String non è Null
  • If-z quando Sting è Null
  • If-z quando String non è Null
  • If-z durante l'acquisizione dell'input di String User

Uso dell'operatore if -n quando String è Null

Il nostro obiettivo principale nell'usare l'operatore if-n qui è mostrare che la stringa specifica è Null. Seguire i passaggi citati per eseguire questa attività:

Crea un nuovo file con il nome CheckString.sh. Puoi crearlo direttamente nella tua home directory o usando il seguente comando nel terminale:

$ touch CheckString.sh

Puoi vedere che il file CheckString.sh è stato creato nella tua home directory come mostrato nell'immagine.

Apri il file CheckString.sh e scrivi uno script bash come mostrato nell'immagine qui sotto. Qui puoi vedere che abbiamo inizializzato una stringa con il nome StdName seguito dal valore Null. Nella nostra istruzione if abbiamo usato l'operatore di test della stringa -n seguito dalla stringa StdName. Poiché la stringa StdName è nulla, l'operatore -n eseguirà la sezione else dello script.

Ora eseguiremo il comando indicato di seguito per verificare se la stringa è Null o meno.

$ bash CheckStrings.sh

Poiché la nostra stringa StdName è Null, l'operatore di stringa -n ha eseguito la parte else. Quindi l'output sarà Sorry! Non hai un nome nel terminale come mostrato nell'immagine sottostante.

Uso di if -n quando String non è Null

Stiamo usando l'operatore if-n qui per mostrare che la stringa specificata nel file non è Null. Devi eseguire i passaggi indicati di seguito per eseguire questa attività:

Non è necessario creare un nuovo file o stringa. Utilizzerai lo stesso file CheckString.sh per questa attività con una piccola modifica. Questa volta, la stringa StdName nel file deve avere un valore diverso da null. Quindi devi assegnare alla tua stringa un valore (non nullo) mentre tutti gli altri script rimangono gli stessi. Quindi, come puoi vedere, abbiamo assegnato alla stringa StdName un valore Aqsa Yasin. Quindi questa volta If parte dello script verrà eseguita dall'operatore -n.

Ora eseguiremo il comando indicato di seguito per verificare se la stringa ha un valore o meno.

$ bash CheckStrings.sh

Poiché la nostra stringa StdName ora ha un valore Aqsa Yasin, l'operatore di stringa -n ha eseguito la parte if. Quindi l'output sarà Hy! Aqsa Yasin nel terminale come mostrato nell'immagine allegata.

Uso di if -z quando String è Null

Stiamo usando l'operatore if-z qui per mostrare che la stringa specificata nel file è Null. Devi eseguire i passaggi indicati di seguito per eseguire questa attività:

Non c'è niente di nuovo da fare per questo compito. Basta usare lo stesso vecchio file CheckString.sh con l'operatore di stringa -z. Come sappiamo, l'operatore -z esegue la parte True quando la stringa è Null. Poiché la stringa StdName ha un valore nullo, la parte if dello script verrà eseguita dall'operatore -z.

Ora eseguiremo il comando indicato di seguito per verificare che la stringa sia nulla.

$ bash CheckStrings.sh

Poiché la nostra stringa StdName ora non ha valore e l'operatore di stringa -z sa che la stringa è nulla, quindi esegue la parte if. Quindi l'output sarà Sorry You have no name nel terminale come presentato nell'immagine allegata.

Uso di if -z quando String non è Null

Stiamo usando l'operatore if-z qui per mostrare che la stringa specificata nel file non è Null. Seguendo questi passaggi sarai in grado di eseguire questa attività:

Non c'è bisogno di fare nulla di nuovo. Useremo lo stesso vecchio file CheckString.sh per questa attività con una piccola modifica. Questa volta sostituiremo l'operatore di stringa -n con l'operatore di stringa -z. Inoltre, devi scambiare if e else parte della sceneggiatura l'uno con l'altro. Come sappiamo, l'operatore -z esegue la parte True quando la stringa è Null. Poiché la stringa StdName ha un valore Aqsa Yasin che non è nullo, l'istruzione else verrà eseguita dall'operatore -z.

Ora eseguiremo il comando indicato di seguito per verificare se la stringa è nulla o meno.

$ bash CheckStrings.sh

Poiché la nostra stringa StdName ha ora un valore Aqsa Yasin e l'operatore di stringa -z sa che la stringa non è nulla, quindi esegue la parte else. Quindi l'output sarà Hy Aqsa Yasin nel terminale come mostrato nell'immagine qui sotto.

Uso di if -z durante l'acquisizione dell'input dell'utente di stringhe

Infine, stiamo usando l'operatore if-z per testare l'input di stringa aggiunto dall'uso in fase di esecuzione. È necessario eseguire i seguenti passaggi per testare l'input della stringa utente:

Questa volta devi modificare il tuo script in una certa misura nel file. Prima di tutto, stiamo usando l'operatore -z nell'istruzione if seguita dalla variabile stringa. Il sistema chiederà all'utente di aggiungere alcuni valori di stringa. L'utente aggiungerà una stringa. Durante l'utilizzo dell'istruzione read il sistema salverà la stringa scritta dall'utente nella variabile stringa. Come sappiamo l'operatore -z esegue la parte if dell'istruzione quando la stringa è valida. Se la stringa inserita dall'utente è nulla, il sistema chiederà di inserire nuovamente la stringa. Se la stringa inserita dall'utente non è nulla, il sistema visualizzerà la stringa.

Ora eseguiremo il comando sotto indicato per controllare la stringa inserita dall'utente:

$ bash CheckStrings.sh

Quando il sistema ha chiesto all'utente di aggiungere una stringa, l'utente non aggiunge alcun valore. Quindi l'operatore -z riconosce la stringa come null, quindi ha eseguito l'istruzione if. Il sistema ha chiesto nuovamente di aggiungere un valore di stringa all'utente. Ora questa volta l'utente ha aggiunto un valore di stringa valido New World Order. Quindi il sistema ha visualizzato il messaggio La stringa che hai inserito è: New World

Conclusione

In questa guida, hai scoperto come utilizzare gli operatori di stringa per testare un valore di stringa che è nullo o non nullo. Spero che questo articolo ti abbia aiutato molto a ottenere abbastanza comandi sugli operatori di stringa -z e -n e manipolare le istruzioni.