shell中默认都是字符串操作,1+1会认为是字符串,也没有i++这种操作。
如果需要计算,需要使用:$() + expr
例如:
#!/bin/bash
i=0
for var in 1 2 3 4 5
do
echo "The value is: $var"
i=$(expr $i + 1)
echo $i
done
尤其要注意, i + 1 , + 两边一定要有空格,不然会被识别为字符串。并且这个 i + 1,+两边一定要有空格,不然会被识别为字符串。 并且这个 i+1,+两边一定要有空格,不然会被识别为字符串。并且这个(expr $i + 1)只有在sh文件中才会有这个问题,直接在命令行执行,没有空格也可以。