Enviado em 06/11/2016 - 22:29h
Boa noite a todos, sou iniciante em shell script e estou com um problema no while. Estou programando uma calculadora simples e quero que o script aceite apenas as opções de 1 a 5. Porém qualquer coisa que digitar o while fica em loop infinito, dizendo que a opção é inválida e pede para digitar novamente.#!/bin/bash
clear
function calculadora(){
echo "Operações da calculadora: ";
echo " 1) Soma";
echo " 2) Subtração";
echo " 3) Multiplicação";
echo " 4) Divisão";
echo " 5) Voltar para menu principal";
echo -ne "\nDigite a operação: ";
read operacao;
while [ "$operacao" != [1-5] ]
do
echo -n "Opção inválida! Digite novamente: "
read operacao
done
case $operacao in
1)
echo -n "Digite o primeiro valor para somar: ";
read n1;
echo -n "Digite o segundo valor para somar: ";
read n2;
let n3=n1+n2;
echo -e "O resultado da soma é: $n3\n";
;;
2)
echo -n "Digite o primeiro valor para subtrair: ";
read n1;
echo -n "Digite o segundo valor para subtrair: ";
read n2;
let n3=n1-n2;
echo -e "O resultado da subtração é: $n3\n";
;;
3)
echo -n "Digite o primeiro valor para multiplicar: ";
read n1;
echo -n "Digite o segundo valor para multiplicar: ";
read n2;
let n3=n1*n2;
echo -e "O resultado da multiplicação é: $n3\n";
;;
4)
echo -n "Digite o primeiro valor para dividir: ";
read n1;
echo -n "Digite o segundo valor para dividir: ";
read n2;
let n3=n1/n2;
echo -e "O resultado da divisão é: $n3\n";
;;
5)
source main.sh;;
esac
}
calculadora
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Melhorando a precisão de valores flutuantes em python[AJUDA] (9)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta