Qual é a maneira padrão, no bash, de verificar se uma variável de ambiente está configurada? Estou um pouco confuso entre as seguintes opções:
! [ -z "${VAR}" ]
[ -n "${VAR}" ]
[ "${VAR}" ]
Ou existe uma abordagem melhor?
Qual é a maneira padrão, no bash, de verificar se uma variável de ambiente está configurada? Estou um pouco confuso entre as seguintes opções:
! [ -z "${VAR}" ]
[ -n "${VAR}" ]
[ "${VAR}" ]
Ou existe uma abordagem melhor?
-n
verifica se uma variável não é nula.No bash 4.2 ou posterior, você tem o
-v
operador que verifica se uma variável está definida mesmo que ela não tenha um valor, então esse pode ser um cenário que você queira abordar.O Bash usa o teste estendido,
[[
então o teste "bash" seria:[[ -n "$VAR" ]]
No entanto, essa variável pode ser apenas uma variável local. Se você quiser verificar se ela foi exportada, precisará de algo como:
Experimente isto:
NOTA: Não expanda VAR; use
VAR
- não$VAR