Processos, parte 4: calculadora/comando bc

parte 1: Introdução
parte 2: Iniciando (launching) e matando (killing) processos
parte 3: Capturando saídas com Backtick, ` (crase)
parte 4: calculadora/comando bc
parte 5: Códigos de retorno (return codes)


Como foi possível notar usando 'expr', é um método complicado e expressões simples se tornam muito enfadonhas para serem escritas.
Ao invés disso, usaremos o comando 'bc', que é uma linguagem de cálculo com precisão, onde podemos usar seus resultados, através de pipe, em nossos scripts.

Lembra bastante a sintaxe de C, e não usamos $ para referenciar variáveis.
Vamos criar um script 'imposto' que calcula o valor de um cd do Windows.

Vamos testar alguns valores e ver alguns resultados, para sabermos como funciona.
Abra o bc:
bc
val=250
val = val + 150
print val
juros=0.05
val*juros
quit

Deu pra ver que a sintaxe é simples. Agora vamos usar o bc(a saída dos cálculos) em um script, através de pipe.
Salve o script como 'windows'
---------
echo -n "Insira o valor do cd do Windows: "
read val
taxa_imposto=0.1

valor=$`echo "imposto=$val * $taxa_imposto ; total=$val + imposto ; print total" |bc`
echo "Total do cd, com impostos: $valor reais"
----------

A seguir, rode-o:
sh windows

Note que fizemos 'total=$val + imposto' e não 'total=$val + $imposto', pois dentro do bc não usamos $ nas variáveis.
Nesse caso usamos na $val, pois ela é externa ao bc.
Usamos pipe para conectar a saída do 'echo' com a entrada do 'bc'.

Nenhum comentário: