今天跟着練習一個shell scripts,內容如下:
=======================================
#!/bin/bash
# Using for and loop
# allen 2010/04/13
declare -i s # <==變量宣告
for (( i=1; i<=100; i=i+1 ))
do
s=s+i
done
echo "The count is =l
=======================================
但是運行時總是報下面這個錯,如下:
test11-loop.sh: 5: Syntax error: Bad for loop variable
幾經查找語法,沒有問題,後來在網上找到問題原因:
代碼對於標準bash而言沒有錯,因爲Ubuntu爲了加快開機速度,用dash代替了傳統的bash,是dash在搗鬼。
解決方法是 取消dash
sudo dpkg-reconfigure dash
在選擇項中選No,即可。