shell脚本的逻辑运算与算术运算-Linux(11)

6 篇文章 0 订阅

逻辑运算

shell脚本编程中提供了条件结构,根据条件的不同而进行不同的操作。

条件测试

两种方式:

  • test 条件表达式
  • [ 条件表达式 ] 必须在[]前后加空格,否则报错。
    测试一下:


输出结果为:

可测试的条件类型

字符串
比较方式结果
string1 = string2相同则为真
string1 != string2不同则为真
-n string字符串不为空则为真
-z string为空则为真

要注意的是 = 两边必须要有空格

算术比较
比较方式结果
expression1 -eq expression2相等则为真
expression1 -ne expression2不等则为真
expression1 -gt expression2expression1大于expression2则为真
expression1 -ge expression2expression1大于或者等于expression2为真
expression1 -lt expression2expression1小于expression2为真
expression1 -le expression2expression1小于或者等于expression2为真
文件条件测试
比较方式结果
-d file文件是目录则为真
-e file文件存在则为真
-f file普通文件则为真
-r file文件可读则为真
-s file文件长度不为0则为真
-w file文件可写则为真
-x file文件可执行则为真

逻辑运算

and运算

运算符为&&

statement1 && statement2 && statement3

顺序执行语句,第一条为真才会判断下一个。
测试代码:

#! /bin/bash
if [ 1 -gt 0 ] && echo 第二条命令 && [ 0 -gt 1 ]
then
echo yes
else
echo no
fi

结果:

or运算

statement1 || statement2 || statement3

顺序执行,直到找到一条命令为真,则停止执行以后命令。

算术运算

expr命令

格式:

expr expression
  • 运算符号前后要有空格,并且乘法要转义,即 "\*"
  • 启用新的shell执行expr命令

$((expression))

$((expression))

let命令

格式:

let expression
  • 变量前可以省略$
    上述三种的测试代码:
#! /bin/bash
a=1
b=2
echo `expr $a \* $b`
echo $(($a*$b))
let c=a*b
echo $c

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值