Proměnná je často označována jako pole obsahující název a obsah. Jednoduchý příkaz, např. 'echo Hello $Var_Name' vypíše 'Ahoj...hodnota proměnné, jak je definována'. Bash nevytiskne nic, pokud je pole prázdné nebo není vytvořeno. Proto je důležité se při vytváření jakéhokoli bash skriptu ujistit, zda je proměnná nastavena správně nebo ne.
Proměnné lze rozdělit do dvou částí:
Proměnné, které jsou správně vytvořeny nebo inicializovány, jsou známé jako definované proměnné. Ty mohou mít nulovou hodnotu nebo prázdný řetězec.
Proměnné, které nejsou nikdy vytvořeny nebo inicializovány, jsou známé jako nedefinované proměnné.
Pro potvrzení, zda je proměnná nastavena nebo ne v Bash Scripting, můžeme použít -v var nebo -z ${var} volby jako výraz s kombinací podmíněného příkazu 'if'.
Syntax
Níže jsou uvedeny syntaxe booleovských výrazů, které lze použít ke kontrole, zda je proměnná nastavena:
[[ -v Variable_Name ]] [[ -z Variable_Name ]]
Booleovský výraz vrátí hodnotu 'True', pokud je proměnná nastavena, a 'False', pokud proměnná není nastavena.
git add --all
Níže jsou uvedeny příklady, jak zkontrolovat, zda je proměnná nastavena nebo ne:
Použití volby -v
#!/bin/bash #Script to check whether a variable is set or not using -v option A=100 #A: variable is set. if [[ -v A ]]; then echo 'Variable having name 'A' is already set.' else echo 'Variable having name 'A' is not set.' fi #B: variable is not set if [[ -v B ]]; then echo 'Variable having name 'B' is already set.' else echo 'Variable having name 'B' is not set.' fi
Výstup
Zde je proměnná „A“ definována a má přiřazenu hodnotu 100, a proto je považována za „nastavenou proměnnou“. Pro proměnnou 'B' jsme nedefinovali ani nepřiřadili žádnou hodnotu. V důsledku toho se proměnná „B“ nepovažuje za „proměnnou sady“.
Použití volby -z
#!/bin/bash #Script to check whether a variable is set or not using -z option A=100 #A: variable is set. if [[ -z ${A} ]]; then echo 'Variable having name 'A' is not set.' else echo 'Variable having name 'A' is already set.' fi #B: variable is not set if [[ -z ${B} ]]; then echo 'Variable having name 'B' is not set.' else echo 'Variable having name 'B' is already set.' fi
Výstup
Poznámka:Je rozdíl mezi nenastavenou proměnnou a proměnnou s nulovou hodnotou.
Podívejte se na následující příklad demonstrující, že proměnná s hodnotou null může být proměnná set.
Příklad
VAR='' #VAR is set if [ -z ${VAR+x} ]; then echo ''VAR' is unset'; else echo ''VAR' is set, its content is '$VAR''; fi #Var is not set if [ -z ${Var+x} ]; then echo ''Var' is unset'; else echo ''Var' is set, its content is '$Var''; fi
Výstup
Toto jsou běžně používané metody, které lze použít ke kontrole, zda je proměnná nastavena nebo ne.
přepnout metoda java