Hvordan kan man afgøre, om en bash-variabel er tom?
Hvad er den bedste måde at afgøre, om en variabel i bash er tom ("")?
Jeg har hørt at det anbefales at jeg gør if [ "x$variable" = "x" ]
Er det den korrekte måde? (der må være noget mere ligetil)
768
3
Dette returnerer sandt, hvis en variabel ikke er sat eller er sat til den tomme streng ("").
-z
er den bedste måde at gøre det på.En anden mulighed jeg har brugt er at sætte en variabel, men den kan overstyres af en anden variabel, f.eks.
Hvis variablen
$MY_PORT
er tom, så bliverPORT
sat til 5432, ellers sættes PORT til værdien afMY_PORT
. Bemærk syntaksen omfatter kolon og bindestreg.Hvis du er interesseret i at skelne mellem set-empty- og unset-status, kan du se på -u-indstillingen til bash: