Jak zkontrolovat, zda je proměnná nastavena nebo prázdná v bash

How Check Variable Is Set



Proměnnou lze definovat nebo nedefinovat. Pokud jakákoli proměnná není deklarována nebo deklarována, ale není přiřazena žádná hodnota, pak proměnná není nastavena nebo nedefinována. Když je nějaká proměnná deklarována a přiřazena hodnotou, pak je proměnná nastavena. Mnohokrát to vyžaduje vědět, že konkrétní proměnná je nastavena nebo ne pro účely programování. Jedním z důležitých účelů kontroly nastavení proměnné je ověření dat. Bash nemá žádnou vestavěnou funkci jako ostatní standardní programovací jazyky pro kontrolu, zda je proměnná nastavena nebo ne. Ale bash má funkci, která tento úkol provede. V tomto kurzu je ukázáno, jak můžete zkontrolovat, zda je proměnná nastavena nebo není v bash.

Syntax:







[[ -protiproměnná]]Nebo[[ -Sproměnná]]

Volba „-v“ nebo „-z“ slouží ke kontrole, zda je proměnná nastavena nebo deaktivována. Výše uvedený logický výraz vrátí true, pokud je proměnná nastavena, a vrátí hodnotu false, pokud proměnná není nastavena nebo prázdná.



$ {variabilní+řetězec}

Náhrada parametru je další způsob, jak zkontrolovat, zda je proměnná nastavena nebo deaktivována. Pokud je proměnná nastavena, vrátí se hodnota řetězce, jinak se vrátí null.



Příklad-1: Zkontrolujte, zda je proměnná nastavena nebo zrušena, pomocí možnosti „-z“

Vytvořte bash soubor s názvem check_var1.sh s následujícím skriptem. Tady, první ` kdyby` podmínka vrátí true a Proměnná Num není nastavena vytiskne. V dalším příkazu je proměnné přiřazeno 20, $ num . Druhá podmínka „if“ vrátí false a Nastaví se Num a hodnota Num = 20 vytiskne.





check_var1.sh

#!/bin/bash
#Zkontrolujte, zda je proměnná nastavena nebo není
-li [ -S $ {Num} ];pak
vyhodil Proměnná „Num“ není nastavena
jiný
vyhodil Je nastavena proměnná „Num“
být
#Přiřaďte hodnotu
na jednom=dvacet
#Po přiřazení hodnoty zkontrolujte, zda je proměnná nastavena nebo ne
-li [ -S $ {Num} ];pak
vyhodil „Proměnná Num není nastavena“
jiný
vyhodil '' Nastaví se Num a hodnota Num =$ num'
být

Spusťte skript.



$bashcheckvar1.sh

Příklad 2: Zkontrolujte, zda je proměnná nastavena nebo deaktivována pomocí náhrady parametrů

Vytvořte bash soubor s názvem check_var2.sh a přidejte následující skript. Zde je proměnné přiřazena hodnota řetězce, $ str před kontrolou nastavení nebo zrušení proměnné. Podmínka „if“ vrátí hodnotu true a zpráva, Je nastavena proměnná „str“ a hodnota je Hello vytiskne.

check_var2.sh

#!/bin/bash
#Nastavte proměnnou
p= Dobrý den
#Pokud je nastavena proměnná str, přiřaďte hodnotu World k checkval
kontrolní hod=$ {str+svět}
#Zkontrolujte, zda je proměnná nastavena nebo zrušena
-li [ $ checkval -ekvSvět];pak
vyhodil Proměnná „str“ je nastavena a hodnota je$ str'
jiný
vyhodil Proměnná „str“ není nastavena.
být

Spusťte skript.

$bashcheckvar2.sh

Příklad 3: Zkontrolujte, zda je proměnná prázdná nebo ne

Vytvořte bash soubor s názvem check_var3.sh a přidejte následující skript. Skript uloží první argument příkazového řádku do proměnné, $ argv to je testováno v dalším prohlášení. Výstup bude První argument je prázdný pokud není předán žádný argument, bude vytištěna hodnota prvního argumentu.

check_var3.sh

#!/bin/sh
#Přečtěte si první hodnotu argumentu příkazového řádku
argv='$ 1'
#Zkontrolujte, zda je či není poskytnuta první hodnota argumentu
[ -proti '$ argv' ] && vyhodil „První argument je prázdný“ ||
vyhodil „Hodnota prvního argumentu je$ argv'

Spusťte skript bez jakéhokoli argumentu.

$bashcheckvar3.sh

Spusťte skript s argumentem.

$bashcheckvar3.shtest

Závěr

V tomto kurzu jsou pomocí různých příkladů ukázány různé způsoby, jak zkontrolovat, zda je proměnná nastavena nebo zrušena nebo prázdná. Doufám, že tento návod pomůže uživatelům naučit se způsoby testování jakékoli proměnné bash.