shell中i++与++i对比

对于表达式来说:i++是先赋值再加1,++i是先加1再赋值

对于i变量本身来说:结果一样

测试结果如下:

[root@centos17 ~]# unset a
[root@centos17 ~]# unset b
[root@centos17 ~]# echo $a

[root@centos17 ~]# echo $b

[root@centos17 ~]# let a=i++
[root@centos17 ~]# let b=++j
[root@centos17 ~]# echo $i
1
[root@centos17 ~]# echo $a
0
[root@centos17 ~]# echo $j
1
[root@centos17 ~]# echo $b
1

 

方法二:

[root@b ~]# i=1                  #$((i++)) 与$i区别,需要注意。i++等价于i=$i+1的意思。
[root@b ~]# echo $((i++))
1
[root@b ~]# echo $i
2
[root@b ~]# echo $((i++))
2
[root@b ~]# echo $i
3
[root@b ~]# echo $((i++))
3
[root@b ~]# echo $i
4 

原文地址:https://www.cnblogs.com/xiaofeng666/p/13768107.html