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
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
HD externo não mostra arquivos (1)
Chamadas de variável de uma página para outra no PHP8 (3)
Equipamentos não ligam com a fonte original - NetMetal5 - OmnTik5 (0)