ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

SHELL脚本中运算符、逻辑运算以及用法

2020-02-22 15:00:11  阅读:546  来源: 互联网

标签:转换成 SHELL 运算 运算符 命令 逻辑运算 算数 var 表达式


一、算数运算

1. bash中的算术运算:

可用help let查看帮助

常见的算数运算符:

+(加), -(减), *(乘), /(除), %取模(取余), **(乘方)

实现算术运算:

① let var=算术表达式

 图片1.png

 图片1.png

 图片1.png

 图片1.png

注:let运算只保留整数位

 图片1.png

 图片1.png

② var=$[算术表达式]

图片1.png 

其余算数表达式同理

③ var=$((算术表达式))

图片1.png 

其余算数表达式同理

④  var=$(expr arg1 arg2 arg3 ...)

图片1.png 

其余算数表达式同理

⑤ declare –i var = 数值

图片1.png 

其余算数表达式同理

⑥ echo ‘算术表达式’ | bc

图片1.png 

其余算数表达式同理

2. 乘法符号有些场景中需要转义,如*

图片1.png 

3. bash有内建的随机数生成器:$RANDOM(0-32767)

例如:取出0-49之间的随机数

 图片1.png

二、赋值运算

1. 增强型赋值:

① +=

图片1.png 

② -=

图片1.png 

③ *=

图片1.png 

④ /=

图片1.png 

⑤ %=

图片1.png 

2. 自增,自减:

① ++

图片1.png 

② --

图片1.png 

三、逻辑运算

1. true, false

测试命令:

 test EXPRESSION

 [ EXPRESSION ]

[[ EXPRESSION ]]

注意:EXPRESSION前后必须有空白字符

返回结果:

1为true,0为false

2. 与(&)

1 与 1 = 1

1 与 0 = 0

0 与 1 = 0

0 与 0 = 0

例如:12与24

12转换成二进制:01100

24转换成二进制:11000

与的结果是:01000

转换成十进制是:8

图片1.png 

3. 或(|)

1 或 1 = 1

1 或 0 = 1

0 或 1 = 1

0 或 0 = 0

依然是上例,12或24

12转换成二进制:01100

24转换成二进制:11000

或的结果是:11100

转换成十进制是:28

图片1.png 

4. 非(!)

! 1 = 0 ! true

! 0 = 1 ! false

5. 短路运算

① 短路与(&&)

第一个为0,结果必定为0即:

命令1 && 命令2

命令1为假,不执行命令2

图片1.png 

第一个为1,第二个必须要参与运算

命令1 && 命令2

命令1为真,执行命令2

图片1.png 

② 短路或(||)

第一个为1,结果必定为1

命令1 || 命令2

命令1为真,不执行命令2

图片1.png 

第一个为0,第二个必须要参与运算

命令1 || 命令2

命令1为假,执行命令2

图片1.png 

6. 异或(^)

异或的两个值,相同为假(0),不同为真(1)

例如:12异或24

12转换成二进制:01100

24转换成二进制:11000

12异或的结果:10100

转换成十进制是:20

图片1.png 


标签:转换成,SHELL,运算,运算符,命令,逻辑运算,算数,var,表达式
来源: https://blog.51cto.com/14483057/2472912

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有