4

Shell脚本编程-运算

 2 years ago
source link: https://blog.51cto.com/gavenlee/5524604
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Shell脚本编程-运算

原创

GavenLee 2022-07-29 09:27:47 博主文章分类:Linux系统 ©著作权

文章标签 算术表达式 算术运算 显示格式 文章分类 Linux 系统/运维 阅读数177

shell支持算术运算,仅支持整数运算

+(加法) -(减法) *(乘法) /(除法,整除) %(求余)  **(乘方)

乘法因与通配符相同,在部分特殊场景需要进行转义

算术运算方式:

let var=算术表达式   ((var=算术表达式)) var=$[算术表达式]  var=$((算术表达式))

var=$(expr arg1 arg2 arg3 ...)   declare -i var=数字   echo '算术表达式’ | bc

Shell脚本编程-运算_算术运算
Shell脚本编程-运算_算术运算_02

随机数变量

$RANDOM  取值范围 0-32767

Shell脚本编程-运算_显示格式_03

                    格式: echo -e "\033[显示格式;字背景颜色;字体颜色m文本\033[0m" 或者 echo "\e[显示格式;字背景颜色;字体颜色m文本\e[0m"

​显示格式:0(默认值)、1(粗体/高亮)、4(下划线)、5(闪烁)、7(反显,翻转前景色和背景色)

增强型赋值:

 i +=10 同于 i=i+10

i -=10 同于 i=i-10

*= /= %=

++i ,i++ 同于i=i+1

--i i-- 同于i=i-1

Shell脚本编程-运算_算术表达式_04
Shell脚本编程-运算_显示格式_05
逻辑运算(转换为二进制计算)

true (1)  false(0)

逻辑与(&):是且的关系,两个都为真才是真,和0相与结果为0

1 & 1=1 0&1=0 0&0=0 1&0=0

逻辑或(|):是或者的关系,任何一个值为真都为真,和1或结果为1

1 |1 =1 1|0=1  0|0=0  0 |1=1

逻辑非(!):取反

!1=0  !0=1

逻辑异或(^0):异或两个值,相同为假(0),不同为真(1)。两个数字x,y异或得到结果为z,z再和x异或则得到y,与y异或得到x

1^1=0  0^0=0 1^0=1 0^1=1

x^y=z   z^x=y 计算方法 x^y^x得到0^y=y 任何值和0异或得到为本身值

Shell脚本编程-运算_算术运算_06

使用异或方式,对调值

短路与(&&): command1 &&command2 如果command1结果为真(1),则command2必须执行,才能得到最终结果

                                         如果command1结果为假(0),则command2不需要执行,因为最终结果已为0

与逻辑&的异同:相同点,得到的结果都是布尔型,相同;不同点:逻辑与两边都需要执行,短路与不需要

短路或 (||):command1 &&command2 如果command1结果为真(1),则command2无需执行,因为最终结果已为1

                                                               如果command1结果为假(0),则command2必须执行,才能能得到最终结果

与逻辑|的异同:相同点,得到的结果都是布尔型,相同;不同点:逻辑与两边都需要执行,短路或不需要


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK