Pular para o conteúdo

conversor de bases no shell

Meu primeiro conversor de base.
gabriel g4tr1k
Hits: 8.028 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Meu primeiro conversor de base.
Download gcalc Enviar nova versão

Esconder código-fonte

#!/bin/bash

Principal()
{
echo "====================================="
echo "| 1) entrada de numeros binarios    |"
echo "| 2) entrada de numeros decimais    |"
echo "| 3) entrada de numeros octais      |"
echo "| 4) entrada de numeros hexadecimais|"
echo "====================================="
echo "opcao:"
read OPCAO
case $OPCAO in
  1)Entrada_binario ;;
  2)Entrada_decimal ;;
  3)Entrada_octal ;;
  4)Entrada_hexadecimal ;;
  *)Principal ;;
esac
}

Entrada_binario()
{
clear
echo "============================"
echo "| digite um numero binario |"
echo "============================"
read NUM2
echo ""
clear
echo "================================="
echo "| 1) Converter para decimal     |"
echo "| 2) Converter para hexadecimal |"
echo "| 3) Converter para octal       |"
echo "| *) aperte qualquer tecla para |"
echo "|     voltar ao menu iniciar    |"
echo "================================="
echo "opcao: "
read OPCAO2

case $OPCAO2 in

1)Saida_decimal ;;
2)Saida_hexadecimal ;;
3)Saida_octal ;;
*)Principal ;;
esac
}

Saida_decimal()
{
case $OPCAO2 in
      1) # Conversão de decimal.
      # Base 10 somente 0-9:
      grep -qs "[^0-9]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 10 use de 0-9"
      read -n 1 && continue ; }
 RE=$(bc -l <<< "obase=10 ; ibase=2 ; $NUM2");
echo "O seu numero na  base decimal é: $RE";;
esac
}


Saida_hexadecimal()
{ 
case $OPCAO2 in
     2) # Conversão de hexadecimal
      grep -qs "[^0-9A-F]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 16 use de 0-9 e A-F"
      read -n 1 && continue ; }

 RE=$(bc -l <<< "obase=16 ; ibase=2 ; $NUM2");
echo "O seu numero na  base decimal é: $RE";;
esac
}


Saida_octal()
{
case $OPCAO2 in
     3) # Conversão de octal
      grep -qs "[^0-7]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 8 use de 0-7"
      read -n 1 && continue ; }

RE=$(bc -l <<< "obase=8 ; ibase=2 ; $NUM2");
echo "O seu numero na  base decimal é: $RE";;
esac
}

Entrada_decimal()
{
clear
echo "============================"
echo "| digite um numero decimal |"
echo "============================"
read NUM1
echo ""
clear
echo "================================="
echo "| 1) Converter para binario     |"
echo "| 2) Converter para hexadecimal |"
echo "| 3) Converter para octal       |"
echo "| *) aperte qualquer tecla para |" 
echo "|     voltar ao menu iniciar    |"
echo "================================="
echo "opcao: "
read OPCAO3

case $OPCAO3 in

1)Saida_binario ;;
2)Saida_hexadecimale ;;
3)Saida_octale ;;
*)Principal ;;
esac
}

Saida_binario()
{
case $OPCAO3 in
     1) # Conversão de binário
      grep -qs "[^0-1]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 2 use de 0-1"
      read -n 1 && continue ; }
RE=$(bc -l <<< "obase=2 ; ibase=10 ; $NUM1");
echo "o seu numero binario é: $RE";;
esac
}

Saida_hexadecimale()
{ 
case $OPCAO3 in
     2) # Conversão de hexadecimal
      grep -qs "[^0-9A-F]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 16 use de 0-9 e A-F"
      read -n 1 && continue ; }
 RE=$(bc -l <<< "obase=16 ; ibase=10 ; $NUM1");
echo "O seu numero na  base hexadecimal é: $RE";;
esac
}

Saida_octale()
{
case $OPCAO3 in
     3)# Conversão de octal
      grep -qs "[^0-7]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 8 use de 0-7"
      read -n 1 && continue ; }

RE=$(bc -l <<< "obase=8 ; ibase=10 ; $NUM1");
echo "O seu numero na  base octal é: $RE";;
esac
}

Entrada_octal()
{
clear
echo "=========================="
echo "| digite um numero octal |"
echo "=========================="
read NUM8
echo ""
clear
echo "================================="
echo "| 1) Converter para binario     |"
echo "| 2) Converter para hexadecimal |"
echo "| 3) Converter para decimal     |"
echo "| *) Aperte qualquer tecla para |"
echo "|     votal ao menu iniciar     |"
echo "================================="
echo "opcao: "
read OPCAO4

case $OPCAO4 in

1)Saida_binarioo ;;
2)Saida_hexadecimalo ;;
3)Saida_decimalo ;;
*)Principal ;;
esac
}

Saida_binarioo()
{
case $OPCAO4 in
     1) # Conversão de binário
      grep -qs "[^0-1]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 2 use de 0-1"
      read -n 1 && continue ; }
RE=$(bc -l <<< "obase=2 ; ibase=10 ; $NUM1");
echo "o seu numero binario é: $RE";;
esac
}

Saida_hexadecimal()
{ 
case $OPCAO4 in
     2) # Conversão de hexadecimal
      grep -qs "[^0-9A-F]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 16 use de 0-9 e A-F"
      read -n 1 && continue ; }
RE=$(bc -l <<< "obase=16 ; ibase=10 ; $NUM1");
echo "O seu numero na  base hexadecimal é: $RE";;
esac
}

Saida_decimalo()
{
case $OPCAO2 in
      1) # Conversão de decimal.
      # Base 10 somente 0-9:
      grep -qs "[^0-9]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 10 use de 0-9"
      read -n 1 && continue ; }
 RE=$(bc -l <<< "obase=10 ; ibase=2 ; $NUM2");
echo "O seu numero na  base decimal é: $RE";;
esac
}

Entrada_hexadecimal()
{
clear
echo "================================"
echo "| digite um numero hexadecimal |"
echo "================================" 
read NUM16
echo ""
clear
echo "================================="
echo "| 1) Converter para binario     |"
echo "| 2) Converter para decimal     |"
echo "| 3) Converter para octal       |"
echo "| *) Aperte qualquer tecla para |"
echo "|     voltar ao menu iniciar    |"
echo "================================="
echo "opcao: "
read OPCAO3

case $OPCAO3 in

1)Saida_binariou ;;
2)Saida_decimalu ;;
3)Saida_octalu ;;
*)Principal ;;
esac
}

Saida_binariou()
{
case $OPCAO3 in
     1) # Conversão de binário
      grep -qs "[^0-1]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 2 use de 0-1"
      read -n 1 && continue ; }
RE=$(bc -l <<< "obase=2 ; ibase=10 ; $NUM1");
echo "o seu numero binario é: $RE";;
esac
}

Saida_decimalu()
{
case $OPCAO3 in
      1) # Conversão de decimal.
      # Base 10 somente 0-9:
      grep -qs "[^0-9]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 10 use de 0-9"
      read -n 1 && continue ; }
 RE=$(bc -l <<< "obase=10 ; ibase=2 ; $NUM2");
echo "O seu numero na  base decimal é: $RE";;
esac
}

Saida_octalu()
{
case $OPCAO3 in
     3)# Conversão de octal
      grep -qs "[^0-7]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 8 use de 0-7"
      read -n 1 && continue ; }

RE=$(bc -l <<< "obase=8 ; ibase=10 ; $NUM1");
echo "O seu numero na  base octal é: $RE";;
esac
}

Principal

Adiciono linhas ao sources.list

matrix.sh (Wake up, neo...)

Instalação remota de pacotes

Extração do áudio de um DVD

Montando compartilhamentos Webdav no Linux

Contribuir com comentário

Entre na sua conta para comentar.