1.2shell脚本运算基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.2shell脚本运算基础相关的知识,希望对你有一定的参考价值。

算术运算

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决定。

[[email protected] bin]# [ 1 -eq 1 ] && [ 0 -gt 1 ]
[[email protected] bin]# echo $?
1
[[email protected] bin]# [ 1 -eq 1 ] && [ 3 -gt 1 ]
[[email protected] bin]# echo $?
0

以上是关于1.2shell脚本运算基础的主要内容,如果未能解决你的问题,请参考以下文章

linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)

shell脚本基础 数值运算 判断 及if语句

脚本基础.md

第九章shell脚本编程基础

代码片段:Shell脚本实现重复执行和多进程

Shell入门变量的使用