腳本:錯誤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
,但這個小腳本挑出錯誤。請指教。
腳本:錯誤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
,但這個小腳本挑出錯誤。請指教。
此外bc
,還有其他的工具,你可以的工具,你可以嘗試
awk -v vpct="$VPCT" 'BEGIN{print vpct * 15}'
echo $vpct | ruby -e 'print gets.to_f * 15 '
echo "$vpct 15 * p" | dc
$(($ vpct * 15))//(加$符號應該這樣做)
您應該使用BC浮點運算:
echo "$vpct*15" | bc
家當應該這樣寫#!
而且無論如何$(())
只適用於整數。
根據http://www.softpanorama.org/Scripting/Shellorama/arithmetic_expressions.shtml:
Bash does not understand floating point arithmetic. It treats numbers containing a decimal point as strings.
您應該使用BC進行這樣的計算,就如同在羅布麻的解決方案,除了你應該使用引號逃脫表達這樣*
字符不引起不必要的shell擴展。
echo "$vpct*15" | bc
如果你有KSH可用,它會做算術浮動。
也許:vpct =「5.3」? – Cedric 2011-02-18 11:41:36
- 我不能嘗試這些解決方案,但會很高興,如果其中一個爲你工作:) – Cedric 2011-02-18 11:42:02
./abc.sh:行5:5.3 * 15:語法錯誤:無效算術運算符(錯誤標記爲「。 3 * 15「) 都不能工作 – 2011-02-18 11:44:13