conversor de bases no shell
Publicado por gabriel 29/08/2008
[ Hits: 7.825 ]
Meu primeiro conversor de base.
#!/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
Script para instalação completa do XEN 3.4.0 através do source ( fonte ).
Conversor de vídeo com opção de legenda
extract.sh: Script baseado no extract da phrack
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? (12)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (3)









