Como verificar se a variável está definida ou vazia no bash

How Check Variable Is Set



Uma variável pode ser definida ou indefinida. Quando qualquer variável não é declarada ou declarada, mas nenhum valor é atribuído, a variável não é definida ou indefinida. Quando qualquer variável é declarada e atribuída a um valor, a variável é definida. Muitas vezes, é necessário saber se determinada variável está definida ou não para fins de programação. Um dos objetivos importantes de verificar se a variável está definida ou não é a validação de dados. O Bash não tem nenhuma função incorporada como outras linguagens de programação padrão para verificar se uma variável está definida ou não. Mas o bash tem um recurso para fazer essa tarefa. Como você pode verificar se a variável está definida ou não no bash é mostrado neste tutorial.

Sintaxe:







[[ -vvariável]]Ou[[ -Comvariável]]

A opção '-v' ou '-z' é usada para verificar se a variável está definida ou não definida. A expressão booleana acima retornará verdadeiro se a variável for definida e retornará falso se a variável não estiver definida ou vazia.



$ {variável + string}

A substituição de parâmetro é outra maneira de verificar se a variável está definida ou não definida. Se a variável for definida, o valor da string retornará, caso contrário, será retornado nulo.



Exemplo-1: Verifique se a variável está definida ou não definida usando a opção ‘-z’

Crie um arquivo bash chamado check_var1.sh com o seguinte script. Aqui, o primeiro ` if` condição retornará verdadeira e A variável Num não está definida irá imprimir. Na próxima declaração, 20 é atribuído à variável, $Num . A segunda condição `if` retornará falso e Num é definido e o valor de Num = 20 irá imprimir.





check_var1.sh

#! / bin / bash
#Verifique se a variável está definida ou não
E se [ -Com ${Num} ];então
jogou fora '' Num 'variável não está definida'
outro
jogou fora '' Num 'variável está definida'
ser
# Atribuir um valor
Num=vinte
#Verifique se a variável está definida ou não após atribuir o valor
E se [ -Com ${Num} ];então
jogou fora '' Num 'variável não está definida'
outro
jogou fora '' Num é definido e o valor de Num =$Num'
ser

Execute o script.



$bashcheckvar1.sh

Exemplo-2: Verifique se a variável está definida ou não definida usando o substituto de parâmetro

Crie um arquivo bash chamado check_var2.sh e adicione o seguinte script. Aqui, um valor de string é atribuído à variável, $ str antes de verificar se a variável foi ativada ou não. A condição 'se' retornará verdadeiro e a mensagem, A variável 'str' está definida e o valor é Hello irá imprimir.

check_var2.sh

#! / bin / bash
#Defina a variável
p= Olá
# Atribua o valor World para checkval se a variável str estiver definida
checkval=$ {str + World}
#Verifique se a variável está definida ou não definida
E se [ $ checkval -eqMundo];então
jogou fora A variável '' str 'é definida e o valor é$ str'
outro
jogou fora A variável '' str 'não está definida'
ser

Execute o script.

$bashcheckvar2.sh

Exemplo-3: Verifique se a variável está vazia ou não

Crie um arquivo bash chamado check_var3.sh e adicione o seguinte script. O script armazenará o primeiro argumento da linha de comando em uma variável, $ argv que é testado na próxima instrução. A saída será O primeiro argumento está vazio se nenhum argumento for passado, caso contrário, o valor do primeiro argumento será impresso.

check_var3.sh

#! / bin / sh
#Leia o primeiro valor do argumento da linha de comando
argv='$ 1'
#Verifique se o valor do primeiro argumento é fornecido ou não
[ -v '$ argv' ] && jogou fora 'O primeiro argumento está vazio' ||
jogou fora 'O valor do primeiro argumento é$ argv'

Execute o script sem nenhum argumento.

$bashcheckvar3.sh

Execute o script com um argumento.

$bashcheckvar3.shteste

Conclusão

Diferentes maneiras de verificar se a variável está definida ou não definida ou vazia são mostradas neste tutorial usando vários exemplos. Espero que este tutorial ajude os usuários a aprender as maneiras de testar qualquer variável bash.