En variabel kallas ofta för en ruta som innehåller ett namn och innehållet. Ett enkelt kommando, t.ex. 'echo Hello $Var_Name' kommer att skriva ut 'Hej...värdet av variabeln enligt definition'. Bash kommer att skriva ut ingenting om rutan är tom eller inte skapas. Det är därför det är viktigt att se till om en variabel är korrekt inställd eller inte när du skapar ett bash-skript.
Variabler kan delas in i två delar:
Variabler som är korrekt skapade eller initierade kallas definierade variabler. Dessa kan ha nollvärde eller en tom sträng.
Variabler som aldrig skapas eller initieras kallas odefinierade variabler.
För att bekräfta om en variabel är inställd eller inte i Bash Scripting kan vi använda -v var eller -z ${var} alternativ som ett uttryck med kombinationen av 'if' villkorligt kommando.
Syntax
Följande är syntaxerna för booleska uttryck som kan användas för att kontrollera om variabeln är inställd:
[[ -v Variable_Name ]] [[ -z Variable_Name ]]
Det booleska uttrycket returnerar 'True' om variabeln är inställd och 'False' om variabeln inte är inställd.
c++ set
Följande är exemplen för att kontrollera om en variabel är inställd eller inte:
Använder -v Option
#!/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
Produktion
Här definieras variabel 'A' och tilldelas värdet 100 och betraktas därför som 'inställd variabel'. För variabel 'B' har vi inte definierat eller tilldelat något värde. Som ett resultat av detta anses variabeln 'B' inte vara 'inställd variabel'.
Använder -z Option
#!/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
Produktion
Notera:Det är skillnad mellan en inställd variabel och en variabel med ett nollvärde.
Kolla in följande exempel som visar att variabeln med ett nollvärde kan vara en inställd variabel.
Exempel
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
Produktion
Det här är de vanligaste metoderna som kan användas för att kontrollera om en variabel är inställd eller inte.
gjuta sql