multiplicação com decimais em um Script

Iniciado por rickynunes, 08 de Setembro de 2013, 18:46

tópico anterior - próximo tópico

rickynunes

Fala galerinha!
Então sou completamente novato no Ubuntu, comecei a usar por causa da disciplina de Programação em Redes da facul.
Acabei de ter a primeira aula com Scripts, ou seja, não sei quase nada.
Meu problema, tive um exercício onde deveria criar um script pra transformar metros em decímetros, centímetros e milímetros.
O script ficou assim:

#!/bin/bash
#echo "Insira o tamanho em metro(s)"r
read m
dm=$(($m*10))
cm=$(($m*100))
mm=$(($m*1000))
echo "$m metro(s) em decimetros e: $dm, em centimetros e: $cm e em milimetros e:$mm."

Beleza, executou normal, porém apenas com números inteiros. Se uso decimais não vai, exemplo, se uso 1.2 (separando com ponto) da erro de sintaxe (erro de sintaxe: operador aritmético invalido) e se uso 1,2 (separando com virgula) o script só calcula com o numero a direita da virgula no caso o 2.
Já tentei de varias formas diferentes que pesquisei e não deu em nada.
Algum sábio pode me ajudar ai?

irtigor

No bash não há aritmética de numeros reais, só inteiros.

rickynunes

Citação de: irtigor online 08 de Setembro de 2013, 19:51
No bash não há aritmética de numeros reais, só inteiros.
Jura? Como posso fazer então?? Seria um script diferente mesmo? Cara conheço pouco.. =/

irtigor


rickynunes

Citação de: irtigor online 08 de Setembro de 2013, 20:00
Com algo externo, como o bc, perl...
o bc é aquele comando que funciona como calculadora?
se eu não me engano posso executar assim:
echo "2*3" | bc

posso agredar um comando com bc dentro do meu script?

irtigor

Pode, e como esperado, vai ser uma dependência.

rickynunes

Citação de: irtigor online 08 de Setembro de 2013, 21:49
Pode, e como esperado, vai ser uma dependência.
Pra parar de te encher cara... como faço isso?
vc pode postar um exemplo num script?
ficarei mto grato xD