shell 里有可以设置计数器吗?

shell 里有可以设置计数器吗?

我想找一个变量作为计数器
可是我用
n=1
n=$n+1(n=$(n+1),n=n+1都试过了)
再echo的时候,出来的结果是1+1
shell怎么不会计算呀?!      
$ n=1
$ n=$((n+1))
$ echo $n
(明白了吧)      
做计算最好用expr      
吾不敢苟同
在数值操作方面,$(()) 比 expr 功能强大多了,C 语言中几乎所有的表达式都可以拿来用,如:
$ i=2
$ echo $((i++)) //自加
$ echo $((--i)) //自减
$ echo $((i ** 3)) //幂(这可是 C 语言没有的,expr 也没有)
$ echo $((i << 4)) //左移
$ echo $((i *= 5)) //这个叫啥?
$ echo $((i >= 0)) //比较
$ echo $((i > 0 ? 1 : 0)) //条件运算符
……

expr 比 $(()) 强的地方是它可以处理字符串      
不错嘛。      
不过这种写法是需要shell支持的,不是每种shell都支持这种写法的。      
n=1 的写法本身就需要 shell 支持呢      
果然是名副其实呀!我以后要多多向斑竹学习      
这些都是从 linux 上的 man 和 info 文档学来的

want to learn bash? man bash! info bash!