Een variabele wordt vaak een vak genoemd dat een naam en de inhoud bevat. Een eenvoudig commando, bijvoorbeeld 'echo Hallo $Var_Name', zal 'Hallo...de waarde van de variabele zoals gedefinieerd' afdrukken. Bash zal niets afdrukken als het vak leeg is of niet is aangemaakt. Daarom is het belangrijk om ervoor te zorgen dat een variabele correct is ingesteld of niet tijdens het maken van een bash-script.
Variabelen kunnen in twee delen worden onderverdeeld:
Variabelen die op de juiste manier zijn gemaakt of geïnitialiseerd, staan bekend als gedefinieerde variabelen. Deze kunnen een nulwaarde hebben of een lege string.
Variabelen die nooit zijn gemaakt of geïnitialiseerd, staan bekend als ongedefinieerde variabelen.
Om te bevestigen of een variabele al dan niet is ingesteld in Bash Scripting, kunnen we gebruiken -v var of -z ${var} opties als een expressie met de combinatie van het voorwaardelijke commando 'if'.
Syntaxis
Hieronder volgen de syntaxis van de Booleaanse expressie die kunnen worden gebruikt om te controleren of de variabele is ingesteld:
[[ -v Variable_Name ]] [[ -z Variable_Name ]]
De Booleaanse expressie retourneert 'True' als de variabele is ingesteld en 'False' als de variabele niet is ingesteld.
hoeveel 0 op een miljard
Hieronder volgen enkele voorbeelden om te controleren of een variabele is ingesteld of niet:
Met behulp van de optie -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
Uitvoer
Hier wordt variabele 'A' gedefinieerd en krijgt de waarde 100 toegewezen, en wordt daarom beschouwd als 'setvariabele'. Voor variabele 'B' hebben we geen waarde gedefinieerd of toegekend. Als gevolg hiervan wordt de variabele 'B' niet als 'setvariabele' beschouwd.
Met behulp van de optie -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
Uitvoer
Opmerking:Er is een verschil tussen een niet-ingestelde variabele en een variabele met een nulwaarde.
Bekijk het volgende voorbeeld dat laat zien dat de variabele met een nulwaarde een ingestelde variabele kan zijn.
Voorbeeld
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
Uitvoer
Dit zijn de veelgebruikte methoden die kunnen worden gebruikt om te controleren of een variabele is ingesteld of niet.
ffilmz