shell脚本之算术运算和逻辑运算

本文详细介绍了Bash shell脚本中的算术运算,包括加减乘除、取余和乘方等,并展示了不同赋值方式。还涵盖了逻辑运算,如与、或、非和短路运算,以及条件测试,如数值、字符串和文件属性测试。此外,还讲解了扩展内容,如read命令、Bash配置文件及其生效、shell登录方式以及$-变量的含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

   算术运算

   赋值运算

   逻辑运算

短路运算和异或

条件测试

数值测试

字符串测试

文件及其属性测试

   存在性测试

存在性及类别测试

文件权限测试

文件特殊权限测试

文件大小测试

文件是否打开

双目测试

   组合测试条件

   扩展

      read命令

      配置文件相关

      Bash退出任务

      关于$-变量

 

算术运算

Bash中我们可以进行算术运算,包括:+-*/%**,分别是加,减,乘,除,取余,乘方。我们有六种方式,实现上面的运算:

(1) let var=算术表达式

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

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

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

(5) declare i var = 数值

(6) echo ‘算术表达式’ | bc

有一点需要注意的是*在运算中需要转译即“\*

[root@CT71 ~]#let var1=1234
[root@CT71 ~]#var2=$[12+32]
[root@CT71 ~]#var3=$((12+12))
[root@CT71 ~]#var4=$( expr 1 + 2 + 3 + 4 )
[root@CT71 ~]#echo $var1 $var2 $var3 $var4
1234 44 24 10
[root@CT71 ~]#let var5=2**10
[root@CT71 ~]#let var6=2*10
[root@CT71 ~]#echo "3 * 4" | bc
12
[root@CT71 ~]#var7=$( expr 3 \* 5 )
[root@CT71 ~]#echo $var5 $var7
1024 15

除此以外bash中还有内建的随机数生成器:$RANDOM0-32767

如:

   echo $[$RANDOM%50] 0-49之间随机数

在算术运算和增强型赋值中,要使用letlet的具体用法请自行man let,它的功能是数字型运算和增强型赋值(下面会讲到)

[root@CT71 ~]#echo $[$RANDOM%50]
12
[root@CT71 ~]#echo $[$RANDOM%50]
25
[root@CT71 ~]#echo $[$RANDOM%50]
39
[root@CT71 ~]#echo $[$RANDOM%50]
19
[root@CT71 ~]#

赋值

变量赋值,我们通常使用“=”,比如var=1234,就是把数值1234赋给var这个变量,此外我们还有其他的赋值方式,

增强型赋值方式:

   +=, -=, *=, /=, %=

   比如:

      var=2

let var+=23

这是var的值是25

除此以外,还有自增,自减:

   let var+=1

let var++

let var-=1

let var--

[root@CT71 ~]#var=2
[root@CT71 ~]#let var+=23
[root@CT71 ~]#echo $var
25
[root@CT71 ~]#let var++
[root@CT71 ~]#echo $var
26
[root@CT71 ~]#let var-=1
[root@CT71 ~]#echo $var
25
[root@CT71 ~]#

逻辑运算

我们在编写脚本中无论如何都少不了逻辑判断,我们通过逻辑判断来进行我们需要进行的操作,完成我们需要的功能。现在我们先看一下最基本的逻辑功能。

true1false0

与:

1 1 = 1

1 0 = 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值