執行算術表達式我有以下腳本:我無法在UNIX
#!/bin/sh
r=3
r=$((r+5))
echo r
不過,我得到這個錯誤:
語法錯誤在第3行:$意外。
我不明白我在做什麼錯。我正在關注該信的在線指南http://www.unixtutorial.org/2008/06/arithmetic-operations-in-unix-scripts/
執行算術表達式我有以下腳本:我無法在UNIX
#!/bin/sh
r=3
r=$((r+5))
echo r
不過,我得到這個錯誤:
語法錯誤在第3行:$意外。
我不明白我在做什麼錯。我正在關注該信的在線指南http://www.unixtutorial.org/2008/06/arithmetic-operations-in-unix-scripts/
此,如果您使用bash
聽起來不錯,但如果你正在使用另一個shell $((r+5))
可能不支持。 /bin/sh
指向什麼?如果可用,您是否考慮用/bin/bash
替代它?
這正是問題所在。謝謝! – Waffles 2010-10-10 18:27:06
你可能想嘗試以下操作:
#!/bin/sh
r=3
r=$((r + 5))
echo $r
shebang線是你的問題。 bash不是sh。將其更改爲#!/bin/bash
,它將起作用。您還需要echo $r
而不是echo r
。
對於做數學(包括小數/浮點數),您可以使用awk
或bc/dc
。
awk -vr="$r" 'BEGIN{r=r+5;print r}'
或
echo "$r+5" | bc
你可能需要用'回聲$ r',而不是'回聲r'反正。 – Bruno 2010-10-07 16:07:41
'((r = r + 5))或'((r + = 5))'也應該起作用。 – 2010-10-07 18:52:27