Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104946
  • 博文数量: 20
  • 博客积分: 64
  • 博客等级: 民兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-28 23:06
文章分类

全部博文(20)

文章存档

2019年(1)

2017年(2)

2016年(3)

2014年(10)

2013年(1)

2012年(3)

分类: 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

阅读(1646) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~