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 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM