Shell中整数⾃增的⼏种⽅式
Shell中整数⾃增的⼏种⽅式
2016年08⽉27⽇ 19:07:40  阅读数:2816
版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。 blog.csdn/Jerry_1126/article/details/52336340在Shell脚本中,⽤于while或for循环中经常要涉及到整数⾃增的情况,下⾯罗列下可能的⽅式
【⽅式⼀】declare -i来声明整数变量
root@localhost:~# declare -i x=1
root@localhost:~# x+=1
root@localhost:~# echo $x
2
【⽅式⼆】使⽤let命令
root@localhost:~# i=1
root@localhost:~# let i+=1
root@localhost:~# echo $i
2
root@localhost:~# i=1
root@localhost:~# let i=$i+1
root@localhost:~# echo $i
2
root@localhost:~# i=1
root@localhost:~# let i++
root@localhost:~# echo $i
2
root@localhost:~# i=1
root@localhost:~# let ++i
root@localhost:~# echo $i
2
【⽅式三】使⽤(())
root@localhost:~# i=1
root@localhost:~# ((++i))
shelly佳
root@localhost:~# echo $i
2
root@localhost:~# i=1
root@localhost:~# ((i++))
root@localhost:~# echo $i
2
【⽅式四】使⽤expr命令
root@localhost:~# i=1
root@localhost:~# i=`expr $i + 1`
root@localhost:~# echo $i
2
root@localhost:~# i=1
root@localhost:~# i=$(expr $i + 1)
root@localhost:~# echo $i
2
【⽅式五】使⽤$(())
root@localhost:~# i=1
root@localhost:~# i=$(($i + 1))
root@localhost:~# echo $i
2
【⽅式六】使⽤$[]
root@localhost:~# i=1
root@localhost:~# i=$[$i + 1]
root@localhost:~# echo $i
2
备注:
1)使⽤i=$(expr $i + 1)⽐i=`expr $i + 1`要好些
2)使⽤(())或者$(())速度要⽐expr快
3)如果不考虑速度问题,涉及到不同平台的兼容,最好使⽤expr
4)Bash(sh)上使⽤⽐较多的情形:let,expr,(())