GNU/Linux >> Znalost Linux >  >> Linux

Jak používat bash if -z a if -n pro testování řetězců v Linuxu

Ve skriptovacím jazyce bash jsou k dispozici různé operátory řetězců, které lze použít k testování řetězců. Operátory -z a -n se používají k ověření, zda je řetězec Null nebo ne. V této příručce otestujeme tyto řetězcové operátory pomocí příkazu if v Centos 8.

V této příručce se dozvíte o následujících testovacích řetězcích:

  • Pokud je-n, když má řetězec hodnotu Null.
  • Pokud-n, když řetězec není Null
  • Pokud-z, když Sting má hodnotu Null
  • Pokud-z, když řetězec není Null
  • Pokud-z při přijímání vstupu uživatele řetězce

Použití operátoru if -n, když má řetězec hodnotu Null

Naším hlavním cílem zde použít operátor if-n je ukázat, že konkrétní řetězec je Null. Chcete-li provést tento úkol, postupujte podle uvedených kroků:

Vytvořte nový soubor s názvem CheckString.sh. Můžete jej vytvořit přímo ve svém domovském adresáři nebo pomocí následujícího příkazu v terminálu:

$ touch CheckString.sh

Můžete vidět, že soubor CheckString.sh byl vytvořen ve vašem domovském adresáři, jak je znázorněno na obrázku.

Otevřete soubor CheckString.sh a napište bash skript, jak je znázorněno na obrázku níže. Zde vidíte, že jsme inicializovali řetězec s názvem StdName následovaným hodnotou Null. V našem příkazu if jsme použili operátor testu řetězce -n následovaný řetězcem StdName. Protože řetězec StdName je null, operátor -n provede sekci else skriptu.

Nyní spustíme níže uvedený příkaz a zkontrolujeme, zda je řetězec Null nebo ne.

$ bash CheckStrings.sh

Protože náš řetězec StdName je Null, operátor řetězce -n provedl část else. Takže výstup bude Sorry! V terminálu nemáte žádné jméno, jak je uvedeno na obrázku pod obrázkem.

Použití if -n, když řetězec není Null

Operátor if-n zde používáme, abychom ukázali, že zadaný řetězec v souboru není Null. Chcete-li provést tuto činnost, musíte projít níže uvedenými kroky:

Není třeba vytvářet nový soubor nebo řetězec. Pro tento úkol použijete stejný soubor CheckString.sh s menší změnou. Tentokrát musí mít řetězec StdName ve vašem souboru jinou hodnotu než null. Takže musíte řetězci přiřadit hodnotu (ne null), zatímco všechny ostatní skripty zůstanou stejné. Jak tedy vidíte, přiřadili jsme řetězci StdName hodnotu Aqsa Yasin. Tentokrát tedy If část skriptu bude provedena operátorem -n.

Nyní spustíme níže uvedený příkaz, abychom zkontrolovali, zda má řetězec nějakou hodnotu nebo ne.

$ bash CheckStrings.sh

Protože náš řetězec StdName má nyní hodnotu Aqsa Yasin, operátor řetězce -n provedl část if. Takže výstup bude Hy! Aqsa Yasin v terminálu, jak je zobrazeno na přiloženém obrázku.

Použití if -z, když má řetězec hodnotu Null

Zde používáme operátor if-z, abychom ukázali, že zadaný řetězec v souboru je Null. Chcete-li provést tuto činnost, musíte projít níže uvedenými kroky:

Pro tento úkol nelze udělat nic nového. Stačí použít stejný starý soubor CheckString.sh s operátorem řetězce -z. Jak víme, operátor -z provede část True, když je řetězec  Null. Protože řetězec StdName má hodnotu null, část if skriptu bude provedena operátorem -z.

Nyní spustíme níže uvedený příkaz, abychom zkontrolovali, zda je řetězec null.

$ bash CheckStrings.sh

Protože náš řetězec StdName nyní nemá žádnou hodnotu a operátor řetězce -z ví, že řetězec je null, spustí část if. Takže výstup bude Sorry You have no name in the terminal, jak je uvedeno na připojeném obrázku.

Použití if -z, když řetězec není Null

Zde používáme operátor if-z, abychom ukázali, že zadaný řetězec v souboru není Null. Procházením těchto kroků byste byli schopni provést tuto činnost:

Není třeba dělat nic nového. Pro tento úkol budeme s menší změnou používat stejný starý soubor CheckString.sh. Tentokrát nahradíme operátor řetězce -n operátorem řetězce -z. Také si musíte navzájem vyměnit část skriptu. Jak víme, operátor -z provede část True, když je řetězec  Null. Protože řetězec StdName má hodnotu Aqsa Yasin, která není nulová, takže příkaz else bude proveden operátorem -z.

Nyní spustíme níže uvedený příkaz, abychom zkontrolovali, zda je řetězec prázdný nebo ne.

$ bash CheckStrings.sh

Protože náš řetězec StdName má nyní hodnotu Aqsa Yasin a operátor řetězce -z ví, že řetězec není null, tak spustí část else. Takže výstup bude Hy Aqsa Yasin v terminálu, jak je znázorněno na obrázku níže.

Použití if -z při zadávání řetězce uživatelem

Nakonec používáme operátor if-z k testování vstupu řetězce přidaného použitím za běhu. Chcete-li otestovat zadání uživatelského řetězce, musíte provést následující kroky:

Tentokrát musíte skript do určité míry změnit v souboru. Nejprve používáme operátor -z v příkazu if následovaný proměnným řetězcem. Systém požádá uživatele, aby přidal nějaké hodnoty řetězce. Uživatel přidá nějaký řetězec. Při použití příkazu read systém uloží řetězec zapsaný uživatelem do proměnné řetězec. Jak víme, operátor -z provede if část příkazu, když je řetězec platný. Pokud je řetězec zadaný uživatelem prázdný, systém vás požádá o zadání řetězce znovu. Pokud řetězec zadaný uživatelem není null, systém jej zobrazí.

Nyní spustíme níže uvedený příkaz pro kontrolu řetězce zadaného uživatelem:

$ bash CheckStrings.sh

Když systém požádal uživatele, aby přidal nějaký řetězec, uživatel nepřidá žádnou hodnotu. Takže operátor -z rozpozná řetězec jako null, takže provede příkaz if. Systém znovu vyzval uživatele k přidání nějaké řetězcové hodnoty. Nyní uživatel přidal platnou hodnotu řetězce New World Order. Systém proto zobrazil zprávu Zadaný řetězec je:Nový svět

Závěr

V této příručce jste zjistili, jak používat řetězcové operátory k testování hodnoty řetězce, která je buď nulová, nebo nenulová. Doufám, že vám tento článek hodně pomohl získat dostatek příkazů pro operátory řetězců -z a -n a manipulovat s příkazy.


Linux
  1. Jak používám Ansible a anacron pro automatizaci

  2. Co je příkaz Chown v Linuxu a jak jej používat

  3. Jak nainstalovat a používat Traceroute v Linuxu

  1. Jak nainstalovat a používat Etcher na Linuxu pro vytvoření živého Linuxu USB

  2. Jak nainstalovat a používat Flatpak v Linuxu

  3. Jak používat Linux Shutdown Command, restartování plánované a okamžité

  1. Jak nainstalovat a používat telnet na Kali Linux

  2. Jak nainstalovat a používat Linux Screen?

  3. Linux Tail Command:Co to je a jak jej používat