REVELAR

Fórum Tabuada simples - ShellScript #518896

05/05/2015

0

Estou tentando fazer uma tabuada simples em shellscript, a mesma deve solicitar um numero e com ele fazer a tabuada, sendo que deve ser mostrado a soma e multiplicação.

O que eu consegui fazer:




#!/bin/bash

clear
function menu() {
echo "====================="
echo "  **   TABUADA    ** "
echo "====================="

echo "====================="
echo "Opções:"
echo "1) Para soma"
echo "2) Para multiplicação"
echo "3) Para sair"
read -p "Qual operação: " op

case $op in
 1) soma ;;
 2) mult ;;
 3) sair ;;
 *) "Opção "
    clear ;
    menu ;;
    esac
 }
 
function entrada () {
  echo "Informe o numero"
  read num
}


function soma() {
  for i in $(seq 0 10)
  do
   echo "soma: $i + $i"
  done
}

 menu





Alguem pode me dar uma ajudar?
Roniere Almeida

Roniere Almeida

Responder

Posts

06/05/2015

Roniere Almeida

Se alguem puder dar uma olhada e conhecerem um pouco sobre o Shellscript.
Responder

Gostei + 0

06/05/2015

Jothaz

Não tenho a pretensão de me intrometer em seu aprendizado, porém acredito que o uso do Shel Script seria mais recomendado para administração, instalação e configuração da sua distribuição do sistema operacional

Não que não seja possível criar um script para calculadora, só acredito que não teria um uso pratico.
Pelo que vejo nos seus posts sua intenção e se transforma em um profissional em Linux, então seria mais produtivo se concentrar em criar scripts que realmente possam fazer a diferença no ambiente corporativo. Assim caso você participe de algum processo de seleção estaria capacitado.

Algumas sugestões para criação de scripts:

1 - Formatar de uma vez várias partições do HD.
2 - Descobrir o sistema de arquivos que uma determinada partição do sistema está formatada, de forma a usar a informação mais adiante no script.
3 - Listar os usuários cadastrados no sistema.
4 - Verificar filesystem montados.
5 - Particionador do sistema.
6 - Montar/Desmontar FLOPPY.
7 - Montar/Desmontar CDROM.
8 - Para Sair.
9 - Identificar usuários que acessam sites "suspeitos" e avisá-los da política de empresa acerca do uso apropriado da Internet com recursos da empresa.
10 - Redução em lote do tamanho das imagens localizadas em um diretório e grava a imagem reduzida em um outro diretório.
11 - Cumprimentar o usuário no logado.

Se por acaso você não concordar favor desconsiderar as sugestões, pois se trata somente de minha visão pessoal e não quer dizer que esteja certa.
Responder

Gostei + 0

06/05/2015

Roniere Almeida

Eu te entendo perfeitamente Jothaz e queria que realmente fosse mais direcionado, meus estudos! hehehe, mas exercicios, são exercicios...cobrados ainda!!!
Mas o que você escreveu é realmente o que desejo!
Responder

Gostei + 0

06/05/2015

Edvaldo Amorim

Jothaz tem razão mas vi a situação é ter que fazer, sei como é.

Posso tentar te ajudar, mais tarde vejo com calma seu código.
Responder

Gostei + 0

06/05/2015

Roniere Almeida

Se puder me ajudar eu agradeço!
Responder

Gostei + 0

06/05/2015

Edvaldo Amorim

Acho que hoje a noite vou tentar ver seu código direito.
Responder

Gostei + 0

06/05/2015

Edvaldo Amorim

Acho que hoje a noite vou tentar ver seu código direito.
Responder

Gostei + 0

06/05/2015

Jothaz

Eu te entendo perfeitamente Jothaz e queria que realmente fosse mais direcionado, meus estudos! hehehe, mas exercicios, são exercicios...cobrados ainda!!!
Mas o que você escreveu é realmente o que desejo!


Foi mal, não sabia que era exercício!

Não tenho Linux instalado a mão e não sou muito bom em shell, mas faria algo bem simples uma solução "donkey". kkkk

echo -n "Informe Primeiro numero: "; read valor1
echo -n "Informe a operação  "; read operacao
echo -n "Informe  Segundo numero: "; read valor2

if [ "$operacao" = '-' ]; then
tipo=Subtração
elif [ "$operacao" = '+' ]; then
tipo=Soma
elif [ "$operacao" = '*' ]; then
tipo=Multiplicação
elif [ "$operacao" = '/' ]; then
tipo=Divisão
else
echo "Operação inválida!"
exit 1
fi

echo -n "O resultado da operação: $tipo é = "; echo "$(($valor1 $operacao $valor2))"


Sei que esta horroroso e simplista e certamente contém erro de sintaxe, mas talvez lhe inspire.

Caso não lhe atenda favor desonsiderar e sinceramente esta é a ajuda que posso lhe dar.
Responder

Gostei + 0

06/05/2015

Randrade

Não possuo muito conhecimento em shell. porém, encontrei um post aqui que explica bem, e possui até um exemplo de tabuada estática, que pode lhe ajudar.

Introdução ao shell script
Responder

Gostei + 0

06/05/2015

Roniere Almeida

Jothaz, não esquenta, eu nem informei sobre isso.
Seu código, eu testei e apareceu alguns erros, porem, estou vendo o que pode ser. Mas mesmo assim obrigado!!!

[img]http://arquivo.devmedia.com.br/forum/imagem/273948-20150506-201427.png[/img]
Responder

Gostei + 0

06/05/2015

Edvaldo Amorim

Tentando fazer Roniere!
Responder

Gostei + 0

06/05/2015

Roniere Almeida

Não possuo muito conhecimento em shell. porém, encontrei um post aqui que explica bem, e possui até um exemplo de tabuada estática, que pode lhe ajudar.

Introdução ao shell script


Nunca tinha visto esse artigo! Valeu!

Ei Edvaldo, fica tranquilo e sem pressa, estou tentando resolver o meu e o do Jothaz.
Responder

Gostei + 0

06/05/2015

Jothaz

Jothaz, não esquenta, eu nem informei sobre isso.
Seu código, eu testei e apareceu alguns erros, porem, estou vendo o que pode ser. Mas mesmo assim obrigado!!!

[img]http://arquivo.devmedia.com.br/forum/imagem/273948-20150506-201427.png[/img]


Pois é tem muitos anos que não uso Shell Script, então era de se esperar os erro, ainda mais que não testei.

Olha tente simplificar e depois vá refina do faça assim:

echo -n "Informe Primeiro numero: "; read valor1
echo -n "Informe a operação  "; read operacao
echo -n "Informe  Segundo numero: "; read valor2
 
 echo "$(($valor1 $operacao $valor2))"



Se funcionar vá melhorando.

A ideia é lhe passar a lógica básica.
Responder

Gostei + 0

06/05/2015

Roniere Almeida

Firmeza!!! Tambem tentando fazer funcionar depois melhorar!
Responder

Gostei + 0

07/05/2015

Jothaz

Olha fiz um teste em verificador de sintaxe shell online e passou.

Usei o script abaixo.

echo -n "Informe Primeiro numero: "; read valor1
echo -n "Informe a operação  "; read operacao
echo -n "Informe  Segundo numero: "; read valor2
 
echo -n "resultado: ";echo "$valor1$operacao$valor2" | bc
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar