2011-02-18 415 views
3

腳本:錯誤bash腳本算術語法

#!/bin/bash 
vpct=5.3 
echo $((vpct*15))  

錯誤:

./abc.sh: line 5: 5.3: syntax error: invalid arithmetic operator (error token is ".3") 

我知道我並不需要一個腳本來繁殖5.3 * 15,但這個小腳本挑出錯誤。請指教。

回答

3

此外bc,還有其他的工具,你可以的工具,你可以嘗試

awk -v vpct="$VPCT" 'BEGIN{print vpct * 15}' 

echo $vpct | ruby -e 'print gets.to_f * 15 ' 

echo "$vpct 15 * p" | dc 
0

$(($ vpct * 15))//(加$符號應該這樣做)

+0

也許:vpct =「5.3」? – Cedric 2011-02-18 11:41:36

+0

- 我不能嘗試這些解決方案,但會很高興,如果其中一個爲你工作:) – Cedric 2011-02-18 11:42:02

+0

./abc.sh:行5:5.3 * 15:語法錯誤:無效算術運算符(錯誤標記爲「。 3 * 15「) 都不能工作 – 2011-02-18 11:44:13

2

您應該使用BC浮點運算:

echo "$vpct*15" | bc 
0

家當應該這樣寫#! 而且無論如何$(())只適用於整數。

0

如果你有KSH可用,它會做算術浮動。