Linux系统shell命令之 条件判断 (&& || test)

博客介绍了Shell中&&和||的使用,用于条件成立或不成立时执行相应命令,还介绍了test命令的多种参数,如比较数值、判断条件关系、检测文件类型等。此外,给出了编写脚本检测网络连通性、判断文件类型以及创建或删除用户的示例。

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

&& 和 ||

&&:用来执行条件成立后执行的命令
||:用来执行条件不成立后的执行命令

在这里插入图片描述

[root@localhost mnt]# id westos   # 用户westos不存在无法查看
id: toto: no such user
[root@localhost mnt]# id westos &> /dev/null && echo yes || echo no  # 判断用户是否存在
no    # 由于用户不存在 条件不成立 所以输出no
[root@localhost mnt]# useradd westos   # 创建用户之后 用户存在 
[root@localhost mnt]# id westos &> /dev/null && echo yes || echo no  # 条件成立 输出yes
yes

测试:检测是否能够ping通 主机 172.25.254.18 ,通则输出yes,不通则输出no
在这里插入图片描述

编写脚本,用以检测网络能否ping通
可以ping通输出此ip is up;ping不通输出 此ip is down

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

test 命令

-eq 等于 ; -ne 不等于 ;-le 小于等于; -lt小于 ; -gt大于; -ge大于等于

在这里插入图片描述

在这里插入图片描述###### -a ##同时满足

-o ##两个条件满足其中一个就可以

在这里插入图片描述

-z ##是否为空

在这里插入图片描述
在这里插入图片描述###### -n ##不为空

文件的具体类型

[ -f “file” ]                 ##普通文件为真
[ -e “file” ]                 ##文件存在为真
[ -L “file” ]                 ##软链接为真
[ -S “file” ]                 ##套节字为真
[ -b “file” ]                 ##硬盘设备为真
[ -d “file” ]                 ##目录为真
[ -c “file” ]                 ##字符设备为真
[ “file” -ef “file1” ]       ##两文件为同一个文件为真
[ “file” -nt"file1" ]        ##文件1比文件2创建的晚为真
[ “file” -ot “file1” ]       ##文件1比文件2创建的早为真

示例

[ “file” -ef “file1” ] ##两文件为同一个文件为真

在这里插入图片描述
[ “file1” -nt"file2" ] ##文件1比文件2创建的晚为真
[ “file1” -ot “file2” ] ##文件1比文件2创建的早为真

在这里插入图片描述

测试1 编写脚本 判断输出文件类型

在这里插入图片描述

在这里插入图片描述

测试2 编写脚本 创建或者删除用户

当创建用户时,用户存在则输出用户存在,不存在则建立用户
当删除用户时,用户存在则删除用户,用户不存在则输出用户不存在

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值