O problema é que o separador de ponto decimal na minha instalação do Ubuntu foi definido como ,
(vírgula) em vez de .
(ponto). Eu mudei com o seguinte comando:
sudo update-locale LC_NUMERIC="en_GB.UTF-8"
E o problema foi resolvido.
No Ubuntu 14.04.1 LTS de 64 bits Estou escrevendo um script de shell e se eu definir o início do sequence
usado no for loop
com uma variável em vez de um constante Eu tenho um comportamento muito estranho e há muitos erros da calculadora bc
. Você pode executar o seguinte trecho de código para reproduzir os erros:
#!/bin/bash
S=0.030
F=0.150
N=30
DIFF='echo $F - $S | bc -l'
dw='echo $DIFF / $N | bc -l'
is='echo $S / $dw | bc -l'
if='echo $F / $dw | bc -l'
for i in 'seq $is $if'
do
w='echo "scale=3; $i * $dw" | bc -l'
done
Se eu alterar o início da sequência para uma constante, ela funcionará perfeitamente, mas quando for uma variável, haverá problemas com a saída da seguinte forma:
(standard_in) 1: syntax error
...
...
(standard_in) 1: syntax error
Qual pode ser a razão por trás desse comportamento? Eu gostaria de receber suas sugestões e comentários.