
glp40hs
(usa CentOS)
Enviado em 08/11/2009 - 09:49h
Caro, VFS.
Coloquei o loop de maneira simplista. Mas o que eu desejava mesmo era fazer um laço com ponto flutuante. Por exemplo:
i=0
while [ "$i" -le 2 ];
do
echo "$i"
teste=`bc -l << -end
$i*0.1
end`
i=$((i+1))
echo "i=$i e teste=$teste"
done
Resolvi meu erro colocando a crase de fechamento em uma linha isolada. Assim:
i=0
while [ "$i" -le 2 ];
do
echo "$i"
teste=`bc -l << -end
$i*0.1
end
`
i=$((i+1))
echo "i=$i e teste=$teste"
done
Esta forma `bc -l ...` se faz necessária qdo queremos fazer operações com ponto flutuante no shell, pois me parece que ele não faz operações com pt flututante.
Pois bem, consegui domar o shell, mas não o programa(SEISMIC UN*X, ou SU) que pega os dados da variável "teste". Acontece que com o segundo laço o SU não consegue lê, mas com o primeiro laço fica tudo Ok, porém fica dando uma mensagem de erro no shell. Por que eu não sei.
Mas VFS, agradeço a atenção dispensada