Como verificar se uma string está vazia no Linux

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá técnicas fundamentais para trabalhar com strings no Linux. Descobrirá como verificar efetivamente se uma string está vazia usando o comando test -z, uma habilidade crucial para a lógica condicional em scripts de shell. Além disso, praticará a exibição do conteúdo de strings usando o versátil comando echo e explorará como medir o comprimento de uma string com o comando expr length. Estes exercícios práticos fornecerão experiência na manipulação e análise de strings no ambiente Linux.

Testar a string vazia com test -z

Nesta etapa, você aprenderá como verificar se uma string está vazia no Linux usando o comando test com a opção -z. Esta é uma operação fundamental ao trabalhar com strings em scripts de shell.

O comando test é usado para avaliar expressões condicionais. A opção -z verifica especificamente se o comprimento de uma string é zero. Se a string estiver vazia, o teste é verdadeiro; caso contrário, é falso.

Vamos experimentar no terminal. Primeiro, definiremos uma variável de string vazia. Em scripts de shell, você define uma variável digitando seu nome, seguido por um sinal de igual (=) e, em seguida, o valor. Não deve haver espaços em volta do sinal de igual.

Digite o seguinte comando para definir uma variável de string vazia chamada my_string:

my_string=""

Agora, vamos usar o comando test -z para verificar se my_string está vazia. O próprio comando test não produz saída; seu resultado é usado para controlar o fluxo de um script (o que você aprenderá mais tarde). No entanto, podemos ver seu resultado verificando o status de saída do comando anterior usando echo $?. Um status de saída de 0 indica sucesso (verdadeiro), e um status diferente de zero indica falha (falso).

Digite o seguinte comando para testar se my_string está vazia:

test -z "$my_string"

Após executar o comando test, verifique seu status de saída:

echo $?

Como my_string está vazia, o comando test -z deve ser avaliado como verdadeiro, e o comando echo $? deve gerar 0.

Agora, vamos definir uma string não vazia:

another_string="Hello"

E testar se ela está vazia:

test -z "$another_string"

Verifique o status de saída:

echo $?

Desta vez, como another_string não está vazia, o comando test -z deve ser avaliado como falso, e o comando echo $? deve gerar 1.

Compreender como testar strings vazias é crucial para escrever scripts de shell robustos que lidam com diferentes entradas corretamente.

Exibir o conteúdo da string usando echo

Nesta etapa, você aprenderá como exibir o conteúdo de uma variável de string usando o comando echo. Como você viu no primeiro laboratório, echo é usado para imprimir texto no terminal. Quando usado com variáveis, ele imprime o valor armazenado na variável.

Lembre-se da etapa anterior que definimos uma variável chamada another_string e atribuímos a ela o valor "Hello".

another_string="Hello"

Para exibir o conteúdo desta variável, você usa o comando echo seguido por um sinal de dólar ($) e o nome da variável. O sinal de dólar é importante; ele informa ao shell que você deseja usar o valor da variável, não o próprio nome da variável como uma string literal.

Digite o seguinte comando para exibir o conteúdo de another_string:

echo "$another_string"

Você deve ver a seguinte saída:

Hello

Você também pode incluir a variável dentro de uma string maior. Esta é uma maneira comum de incorporar valores de variáveis em mensagens.

Digite o seguinte comando:

echo "The value of the string is: $another_string"

Você deve ver a seguinte saída:

The value of the string is: Hello

Usar aspas duplas (") em volta do nome da variável ou da string inteira é geralmente recomendado. Isso ajuda a evitar problemas com espaços ou caracteres especiais dentro do valor da variável.

Vamos tentar exibir a string vazia que definimos anteriormente, my_string:

echo "$my_string"

Como my_string está vazia, este comando simplesmente gerará uma linha em branco.

O comando echo é uma ferramenta fundamental para exibir informações e depurar em scripts de shell. Você o usará com frequência para ver os valores das variáveis e a saída dos comandos.

Medir o comprimento da string com expr length

Nesta etapa, você aprenderá como medir o comprimento de uma string usando o comando expr com o operador length. O comando expr é usado para avaliar expressões, incluindo a realização de operações matemáticas e manipulações de strings.

O operador length dentro de expr recebe uma string como argumento e retorna o número de caracteres nessa string.

Vamos usar a variável another_string que definimos nas etapas anteriores, que tem o valor "Hello".

another_string="Hello"

Para encontrar o comprimento de another_string, você usará o comando expr seguido pelo operador length e o valor da variável. Lembre-se de usar o sinal de dólar ($) antes do nome da variável para obter seu valor.

Digite o seguinte comando:

expr length "$another_string"

Você deve ver a seguinte saída, que é o número de caracteres em "Hello":

5

Agora, vamos tentar encontrar o comprimento da string vazia my_string:

my_string=""

Digite o comando:

expr length "$my_string"

A saída deve ser:

0

Isso confirma que o comprimento de uma string vazia é de fato zero.

O comando expr length é uma maneira direta de obter a contagem de caracteres de uma string em scripts de shell. Isso é útil em vários cenários, como validar o comprimento da entrada ou iterar pelos caracteres.

Resumo

Neste laboratório, você aprendeu como verificar se uma string está vazia no Linux usando o comando test -z. Este comando avalia como verdadeiro (status de saída 0) se a string estiver vazia e falso (status de saída 1) caso contrário. Você praticou a definição de variáveis de string vazias e não vazias e a verificação da saída de test -z verificando o status de saída com echo $?. Você também aprendeu como exibir o conteúdo de uma variável de string usando o comando echo e como medir o comprimento de uma string usando o comando expr length. Essas operações fundamentais são essenciais para trabalhar com strings em scripts de shell.