Como verificar se a string não está vazia nem espaço no script de shell

Como verificar se a string não está vazia nem espaço no script de shell
No script de shell, é importante verificar se uma string está vazia ou contém apenas espaços antes de executar qualquer operações nela. Isso ocorre porque a execução de operações em uma string vazia ou somente espaço pode levar a resultados inesperados, este artigo discutirá várias maneiras de verificar se uma string não está vazia nem espaço no script de shell.

Como verificar se a string não está vazia nem espaço no script de shell

Para verificar se uma string não está vazia nem contém espaços em um script de shell, você pode usar os dois métodos a seguir:

  • Usando operadores -n e -z
  • Usando expressões regulares

Método 1: Usando operadores -n e -z

O operador -n verifica se o comprimento da string é maior que zero, enquanto o operador -z verifica se o comprimento da string é zero. Podemos usar esses operadores em combinação para verificar se uma string não está vazia nem espaço no script de shell. Aqui está um exemplo:

#!/BIN/BASH
String = "Hello Linux"
se [-n "$ String"] && [-z "$ (echo $ string | tr -d '[: espaço:]')"]
então
eco "a string está vazia ou contém apenas espaços."
outro
eco "a string não está vazia nem contém apenas espaços."
fi

Neste exemplo, primeiro verificamos se o comprimento da string é maior que zero usando o operador -n. Em seguida, removemos todos os espaços da string usando o tr comando e verifique se o comprimento da sequência resultante é zero usando o operador -z. Se ambas as condições forem verdadeiras, podemos concluir que a corda não está vazia nem contém apenas espaços.

Método 2: Usando expressões regulares

Também podemos usar expressões regulares para verificar se uma string não está vazia nem espaço no script de shell. Aqui está um exemplo:

#!/BIN/BASH
String = "Hello Linux"
se [["$ string" = ~ ^[[: espaço:]]*$]]
então
eco "a string está vazia ou contém apenas espaços."
outro
eco "a string não está vazia nem contém apenas espaços."
fi

Neste exemplo, usamos o operador = ~ para corresponder à string com a expressão regular ^[[: espaço:]]*$, que corresponde a zero ou mais espaços no início e no final da string. Se a string corresponder a essa expressão regular, podemos concluir que está vazia ou contém apenas espaços.

Conclusão

No script de shell, é importante verificar se uma string não está vazia nem contém apenas espaços antes de executar quaisquer operações nela. Discutimos dois métodos para executar esta verificação: usando operadores -n/-z e usando expressões regulares. Ao usar esses métodos, podemos garantir que nossos scripts de shell lidam com as cordas corretamente e evitar erros inesperados.