当前位置:网站首页>Shell脚本编程-运算
Shell脚本编程-运算
2022-07-29 14:54:00 【51CTO】
算术运算
shell支持算术运算,仅支持整数运算
+(加法) -(减法) *(乘法) /(除法,整除) %(求余) **(乘方)
乘法因与通配符相同,在部分特殊场景需要进行转义
算术运算方式:
let var=算术表达式 ((var=算术表达式)) var=$[算术表达式] var=$((算术表达式))
var=$(expr arg1 arg2 arg3 ...) declare -i var=数字 echo '算术表达式’ | bc
随机数变量
$RANDOM 取值范围 0-32767
颜色函数
格式: 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
逻辑运算(转换为二进制计算)
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异或得到为本身值
使用异或方式,对调值
短路运算
短路与(&&): command1 &&command2 如果command1结果为真(1),则command2必须执行,才能得到最终结果
如果command1结果为假(0),则command2不需要执行,因为最终结果已为0
与逻辑&的异同:相同点,得到的结果都是布尔型,相同;不同点:逻辑与两边都需要执行,短路与不需要
短路或 (||):command1 &&command2 如果command1结果为真(1),则command2无需执行,因为最终结果已为1
如果command1结果为假(0),则command2必须执行,才能能得到最终结果
与逻辑|的异同:相同点,得到的结果都是布尔型,相同;不同点:逻辑与两边都需要执行,短路或不需要
边栏推荐
猜你喜欢
Why does APP use the JSON protocol to interact with the server: serialization related knowledge
A review of deep learning for beginners!
超好用的PC端录屏软件推荐
Immediate experience with CTS - | D further promotion application equipment compatibility
AVH部署实践 (一) | 在Arm虚拟硬件上部署飞桨模型
回放线上流量利器-GoReplay
【微服务】(十六)—— 分布式事务Seata
每日优鲜倒下,下一个是谁?
一篇适合新手的深度学习综述!
用Asm生成Class字节码文件
随机推荐
Learning Policies for Adaptive Tracking with Deep Feature Cascades全文翻译
【LeetCode】217. 存在重复元素
【LeetCode】566. 重塑矩阵
【 LeetCode 】 566. Reshape the matrix
每日优鲜倒下,下一个是谁?
NLP自然语言处理-机器学习和自然语言处理介绍(三)
行业资讯|俄罗斯决定绕过5G直接开发6G网络;Twitter将在全球缩减办公空间…
小米法务部:成功打击一处伪造Redmi蓝牙耳机窝点,查扣假冒伪劣产品2032个
数字孪生万物可视 |联接现实世界与数字空间
Uni drop-down selection menu function/lazy loading images
【7.22-7.29】写作社区精彩技术博文回顾
三 RedisTemplate 序列化机制配置实战
力扣每日一题-第45天-682. 棒球比赛
RestTemplate下载文件的另一种方式
双线机房、多线机房、BGP机房的关系和对比
换掉 UUID,更快、更安全!
Linux installation of MySQL (super detailed)
Linux安装MySQL(超详细)
数据挖掘场景-发票虚开
观光公交题解