分类: LINUX
2014-03-13 15:07:19
从大名鼎鼎的abs上看到的
例子 8-2. 使用算术操作符
1 #!/bin/bash 2 # 使用10种不同的方法计数到11. 3 4 n=1; echo -n "$n " 5 6 let "n = $n + 1" # let "n = n + 1" 也可以. 7 echo -n "$n " 8 9 10 : $((n = $n + 1)) 11 # ":" 是必需的, 因为如果没有":"的话, 12 #+ Bash将会尝试把"$((n = $n + 1))"解释为一个命令. 13 echo -n "$n " 14 15 (( n = n + 1 )) 16 # 上边这句是一种更简单方法. 17 # 感谢, David Lombard, 指出这点. 18 echo -n "$n " 19 20 n=$(($n + 1)) 21 echo -n "$n " 22 23 : $[ n = $n + 1 ] 24 # ":" 是必需的, 因为如果没有":"的话, 25 #+ Bash将会尝试把"$[ n = $n + 1 ]"解释为一个命令. 26 # 即使"n"被初始化为字符串, 这句也能够正常运行. 27 echo -n "$n " 28 29 n=$[ $n + 1 ] 30 # 即使"n"被初始化为字符串, 这句也能够正常运行. 31 #* 应该尽量避免使用这种类型的结构, 因为它已经被废弃了, 而且不具可移植性. 32 # 感谢, Stephane Chazelas. 33 echo -n "$n " 34 35 # 现在来一个C风格的增量操作. 36 # 感谢, Frank Wang, 指出这点. 37 38 let "n++" # let "++n" 也可以. 39 echo -n "$n " 40 41 (( n++ )) # (( ++n ) 也可以. 42 echo -n "$n " 43 44 : $(( n++ )) # : $(( ++n )) 也可以. 45 echo -n "$n " 46 47 : $[ n++ ] # : $[ ++n ]] 也可以. 48 echo -n "$n " 49 50 echo 51 52 exit 0 |