博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell脚本入门-9
阅读量:7053 次
发布时间:2019-06-28

本文共 1065 字,大约阅读时间需要 3 分钟。

hot3.png

Shell test 命令

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。

数值测试

参数 说明
-eq 等于则为真
-ne 不等于则为真
-gt 大于则为真
-ge 大于等于则为真
-lt 小于则为真
-le 小于等于则为真

案例:

num1=100num2=100if test $[num1] -eq $[num2]then    echo '两个数相等!'else    echo '两个数不相等!'fi输出结果:两个数相等!

 代码中的 [] 执行基本的算数运算,如:

#!/bin/basha=5b=6result=$[a+b] # 注意等号两边不能有空格echo "result 为: $result"结果为:result 为: 11

字符串测试

参数 说明
= 等于则为真
!= 不相等则为真
-z 字符串 字符串的长度为零则为真
-n 字符串 字符串的长度不为零则为真

案例:

num1="ru1noob"num2="runoob"if test $num1 = $num2then    echo '两个字符串相等!'else    echo '两个字符串不相等!'fi输出结果:两个字符串不相等!

文件测试

参数 说明
-e 文件名 如果文件存在则为真
-r 文件名 如果文件存在且可读则为真
-w 文件名 如果文件存在且可写则为真
-x 文件名 如果文件存在且可执行则为真
-s 文件名 如果文件存在且至少有一个字符则为真
-d 文件名 如果文件存在且为目录则为真
-f 文件名 如果文件存在且为普通文件则为真
-c 文件名 如果文件存在且为字符型特殊文件则为真
-b 文件名 如果文件存在且为块特殊文件则为真

案例:

cd /binif test -e ./bashthen    echo '文件已存在!'else    echo '文件不存在!'fi输出结果:文件已存在!

另外,Shell还提供了与( -a )或( -o )非( ! )三个逻辑操作符用于将测试条件连接起来其优先级为:"!"最高,"-a"次之,"-o"最低。例如:

cd /binif test -e ./notFile -o -e ./bashthen    echo '至少有一个文件存在!'else    echo '两个文件都不存在'fi输出结果:至少有一个文件存在!

 

转载于:https://my.oschina.net/u/3204727/blog/1633745

你可能感兴趣的文章
安装和配置SQL Server 2016 With SP1
查看>>
VR產業鏈與人才從業方向
查看>>
吐槽苹果的革新 iOS 7
查看>>
理解并演示:SNMP简单网络管理协议(200-120新考点)
查看>>
RHEL5中安装Oracle11gR2修改用户SHELL限制、环境配置、内核参数
查看>>
服务器双网卡导致的网络故障及解决方案
查看>>
强力促销推动移动购物崛起
查看>>
软件外包相关职业规划
查看>>
几种数据库建模工具推荐(包含开源版)
查看>>
大中型网站集群架构企业级高标准全自动实战项目征集
查看>>
7.5 TableLayout布局详解
查看>>
【虚拟化实战】存储设计之二LUN Sizing
查看>>
SCCM2012系列之八,SCCM2012客户机发现
查看>>
禁用和删除Exchange邮箱深入探讨
查看>>
QQ群排名自动吸粉,同样是玩群,为什么他们这么牛?
查看>>
nagios监控web/mysql多角度实战分享(三)
查看>>
互联网公司的项目经理:别轻易脚踩两只船
查看>>
《统一沟通-微软-实战》-7-配置-4-未分配号码的通知
查看>>
【DevOps】从理念到实施
查看>>
MySQL数据库CPU飙升紧急处理方法
查看>>