码迷,mamicode.com
首页 > 系统相关 > 详细

1.2shell脚本运算基础

时间:2018-10-30 17:30:56      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:image   dom   之间   caff   ESS   决定   声明   实现   生成器   

算术运算

bash中的算术运算:help let

+, -, *, /, %取模(取余), **(乘方)
实现算术运算:
(1) let var=算术表达式
(2) var=$[算术表达式]
(3) var=$((算术表达式))
(4) var=$(expr arg1 arg2 arg3 ...)
(5) declare –i var = 数值
(6) echo ‘算术表达式’ | bc
乘法符号有些场景中需要转义,如*
?bash有内建的随机数生成器:$RANDOM(0-32767)
echo $[$RANDOM%50] :0-49之间随机数

bash中算数运算时用let关键字来声明后面的语句进行算数运算。

语法:let value=运算表达式

技术分享图片

赋值运算

? ? 与类C语言一样,shell中也可以使用:

????+=、++、-=、--、*=、/=、%=

来进行赋值运算,语句格式与算数运算相同。

? ? 在赋值运算时应注意value=++value与value=value++的区别。

? ??value=++value时会先对右值value进行累加运算,再对左值进行赋值;

????value=value++时会先对左值进行赋值,再对右值进行累加运算。
技术分享图片

逻辑运算

? ? 顺序执行 ; :按照语句中命令的先后而顺序执行。

? ? 与运算 -a:全真为真,有假则假。

? ? 或运算 -o:全假为假,有真则真。

? ? 非运算 !:非真为假,非假为真。

? ? 短路与 &&:语句1为假,则逻辑必假,语句2不执行;

? ? ? ? ? ? ? ? ? ? ? ? 语句1为真,语句2必执行,逻辑真假由语句2决定。

? ? 短路非 ||:语句1为真,则逻辑必真,语句2不执行;

????????????????? ? 语句1为假,语句2必执行,逻辑真假由语句2决定。

[root@CentOS7 bin]# [ 1 -eq 1 ] && [ 0 -gt 1 ]
[root@CentOS7 bin]# echo $?
1
[root@CentOS7 bin]# [ 1 -eq 1 ] && [ 3 -gt 1 ]
[root@CentOS7 bin]# echo $?
0

1.2shell脚本运算基础

标签:image   dom   之间   caff   ESS   决定   声明   实现   生成器   

原文地址:http://blog.51cto.com/13958408/2310480

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!