terça-feira, junho 25, 2024
spot_imgspot_imgspot_imgspot_img
InícioDesenvolvimentoPrevenção de erros - Lidando com Y/N no shell script

Prevenção de erros – Lidando com Y/N no shell script

Quando estamos escrevendo um script em shell, é comum nos depararmos com a necessidade de interagir com o usuário para obter uma resposta em formato de sim ou não. Nesses casos, é importante implementar uma validação para garantir que o usuário informe apenas as opções esperadas (Y ou N) e evitar possíveis erros.

Existem várias maneiras de lidar com essa situação, mas neste artigo vamos mostrar uma abordagem simples e eficiente utilizando uma estrutura de repetição e um comando condicional.

Primeiro, vamos criar uma variável para armazenar a resposta do usuário:

resposta=""

Em seguida, utilizaremos um loop para solicitar a resposta até que o usuário informe uma opção válida:

while [[ ! ( "$resposta" == "Y" || "$resposta" == "N" ) ]]; do
read -p "Digite Y para sim ou N para não: " resposta
done

Neste exemplo, utilizamos o operador de negação (!) para verificar se a resposta é diferente de Y ou N. Caso seja, o loop continua executando e o usuário é solicitado novamente a informar uma resposta.

Assim que o usuário informar uma resposta válida, podemos utilizar um comando condicional para executar a ação desejada:

if [[ "$resposta" == "Y" ]]; then
# Ação para resposta Y
else
# Ação para resposta N
fi

No exemplo acima, utilizamos o comando if para verificar se a resposta é igual a Y. Caso seja, executamos a ação desejada para essa resposta. Caso contrário, executamos a ação para a resposta N.

É importante lembrar de substituir as ações de exemplo pelos comandos ou funções que você deseja executar em seu script.

Essa abordagem garante que o usuário informe apenas as opções esperadas (Y ou N) e evita que o script continue sua execução com uma resposta inválida. Além disso, utilizando um loop, podemos solicitar a resposta quantas vezes forem necessárias até obtermos uma opção válida.

RELATED ARTICLES

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

mais populares

comentários mais recentes