Premenná sa často označuje ako pole obsahujúce názov a obsah. Jednoduchý príkaz, napr. 'echo Hello $Var_Name' vypíše 'Ahoj...hodnota premennej, ako je definovaná'. Bash nevytlačí nič, ak je pole prázdne alebo nie je vytvorené. Preto je dôležité pri vytváraní akéhokoľvek bash skriptu sa uistiť, či je premenná nastavená správne alebo nie.
Premenné možno rozdeliť do dvoch častí:
Premenné, ktoré sú správne vytvorené alebo inicializované, sú známe ako definované premenné. Môžu mať nulovú hodnotu alebo prázdny reťazec.
Premenné, ktoré sa nikdy nevytvoria ani neinicializujú, sú známe ako nedefinované premenné.
Na potvrdenie, či je premenná nastavená alebo nie v skriptovaní Bash, môžeme použiť -v var alebo -z ${var} možnosti ako výraz s kombináciou podmieneného príkazu 'if'.
Syntax
Nasledujú syntaxe booleovských výrazov, ktoré možno použiť na kontrolu, či je premenná nastavená:
[[ -v Variable_Name ]] [[ -z Variable_Name ]]
Booleovský výraz vráti hodnotu „True“, ak je premenná nastavená, a „False“, ak premenná nie je nastavená.
programovanie struct pole c
Nasledujú príklady, ako skontrolovať, či je premenná nastavená alebo nie:
Pomocou voľby -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ýkon
Tu je premenná „A“ definovaná a má priradenú hodnotu 100, a preto sa považuje za „nastavenú premennú“. Pre premennú 'B' sme nedefinovali ani nepriradili žiadnu hodnotu. V dôsledku toho sa premenná „B“ nepovažuje za „premennú súboru“.
Pomocou voľby -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ýkon
Poznámka:Existuje rozdiel medzi nenastavenou premennou a premennou s nulovou hodnotou.
Pozrite si nasledujúci príklad, ktorý demonštruje, že premenná s hodnotou null môže byť nastavenou premennou.
Prí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ýkon
Toto sú bežne používané metódy, ktoré možno použiť na kontrolu, či je premenná nastavená alebo nie.
dátové typy v jazyku Java