Shell编程之条件语句

一、条件测试操作

1.1 test命令

●测试表达式是否成立,若成立返回0,否则返回其他数值(返回的是布尔值)
使用test命令测试时,有两种形式:(常用格式二)
格式1: test 条件表达式
格式2: [  条件表达式  ]    #在条件表达式两边都至少应有一个空格
#方括号两边与条件表达式之间需要至少一个空格进行分隔

1.2 文件测试

●根据给的路径名称,判断对应的是文件还是目录,或者判断是否有相应的权限等。

 [ 操作符文件或目录 ]

常用的测试操作符

●-d:测试是否为目录(Directory)
●-e:测试目录或文件是否存在(Exist)
●-f:测试是否为文件(File)
●-r:测试当前用户是否有权限读取(Read)
●-w:测试当前用户是否有权限写入(Write)
●-x:测试当前用户是否有权限执行(eXcute)

在这里插入图片描述
在这里插入图片描述

实例:
[root@localhost ~]# [ -d /root/ee ] && echo “YES”
YES
在这里插入图片描述
注:&& (逻辑与,“而且”的意思):在前边的命令执行成功了再执行下边的语句(比if语句执行的效率更高)

1.3 整数值比较

●用于比较两个整数值的大小。

    [  整数1 操作符 整数2  ]

常用的测试操作符

●-eq:等于(Equal)
 ●-ne:不等于(Not Equal)
 ●-gt:大于(Greater Than)
 ●-It: 小于(Lesser Than)
 ●-le:小于或等于(Lesser or Equal)
 ●-ge:大于或等于(Greater or Equal)

实例:
[root@localhost ~]# who | wc -l
3
[root@localhost ~]# [ $(who | wc -I) -ge 3 ] && echo “Too many.” #用户数是否>=3,是的话,显示 too many
Too many
在这里插入图片描述

[root@localhost ~]# abc=$(free -m | grep "Mem: " | awk ‘{print $4}’)
[root@localhost ~]# [ $abc -gt 1024] && echo ${FreeCC}MB # 空闲内存是否>1024MB
1176MB
在这里插入图片描述
注:free 查看内存的命令 free -m 把单位换算成M

#计算内存使用率

[ root@local host~]#abc=free-m | grep “Mem:” | awk ‘{print $3/$2*100}’
[ root@local host~]#echo ${abc}%
在这里插入图片描述

1.4浮点算法

1.4.1 浮点算法 bc

bash不支持浮点运算,如果需要进行浮点运算,需要借助bc,awk处理。

#加
echo=$(echo "4.3+2. 5" | bc)
#减
echo=$(echo "4.3-2. 5" |bc)
#乘
echo=$(echo "4.30*2.50" |bc)
#除
echo "scale=2; 4.3
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值