ajuda em shell script

wallydosantos

Power Member
sou novo nestas coisas, e estou a fazer um conversor de bases...mas isto esta dar me um erro quando o abro, nem chega a executar.podem me ajudar..j
aqui esta o codigo


#!/bin/bash

while true

do

clear

echo "-------------------------------------------------------"
echo "| Escolha uma das seguintes opções: |"
echo "| |"
echo "| 1) Introduzir numero na base decimal |"
echo "| 2) Introduzir numero na base octal |"
echo "| 3) Introduzir numero na base hexadecimal |"
echo "| 4) Introduzir numero na base binária |"
echo "| |"
echo "| Para sair prima qualquer outra tecla |"
echo "| (Após a introdução do numero prima Enter) |"
echo "-------------------------------------------------------"

echo "opcao: "

read opcao

clear

case $opcao in

1)base_entrada=10;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 9";
echo "Numero: ";

read numero;;

2)base_entrada=8;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 7";
echo "Numero: ";

read numero;;

3)base_entrada=16;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 9 e letras de A a F";
echo "Numero: ";

read numero;;

4)base_entrada=2;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 1";
echo "Numero: ";

read numero;;


*)break;;

esac

clear

echo "-------------------------------------------------------"
echo "| Escolha uma das seguintes opções: |"
echo "| |"
echo "| 1) Converter numero na base decimal |"
echo "| 2) Converter numero na base octal |"
echo "| 3) Converter numero na base hexadecimal |"
echo "| 4) Converter numero na base binária |"
echo "| |"
echo "| Para sair prima qualquer outra tecla |"
echo "| (Após a introdução do numero prima Enter) |"
echo "-------------------------------------------------------"

echo "opcao: "

read opcao2

case $opcao2 in

1)base_saida=10;;
2)base_saida=8;;
3)base_saida=16;;
4)base_saida=2;;
*)break;;

esac

clear

case $base_saida in

10) resultado=$(bc <<< "ibase=$base_entrada ; $numero");
echo "O seu numero na nova base é: $resultado";
echo "para continuar prima enter";;

*) resultado=$(bc <<< "ibase=$base_entrada ; obase=$base_saida ; $numero");
echo "O seu numero na nova base é: $resultado";
echo "para continuar prima enter";;

esac

done

ja agora ideias pra melhorar
 
Back
Topo