Daugiau
Kaip nustatyti, ar bash kintamasis yra tuščias?
Koks geriausias būdas nustatyti, ar bash kintamasis yra tuščias ("")?
Girdėjau, kad rekomenduojama atlikti if [ "x$variable" = "x" ]
Ar tai yra teisingas būdas? (turi būti kažkas paprastesnio)
768
3
Jei kintamasis nenustatytas arba nustatytas į tuščią eilutę (""), bus grąžinama true.
-z
yra geriausias būdas.Kitas mano naudotas variantas - nustatyti kintamąjį, bet jį galima pakeisti kitu kintamuoju, pvz.
Jei kintamasis
$MY_PORT
tuščias, tuometPORT
nustatomas į 5432, kitu atveju PORT nustatomas į `MY_PORT`` reikšmę. Atkreipkite dėmesį, kad sintaksėje yra dvitaškis ir brūkšnys.Jei jus domina, kaip atskirti set-empty ir unset būsenos atvejus, peržiūrėkite bash parinktį -u: