1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

ajuda em shell script

Discussão em 'Programação' iniciada por wallydosantos, 12 de Novembro de 2007. (Respostas: 1; Visualizações: 681)

  1. wallydosantos

    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
     
  2. scriptKid

    scriptKid Power Member

    Estás a tentar executar em que sistema operativo ?
    Qual é o erro que obténs?
     

Partilhar esta Página