shell &&||+test命令

&&和||命令

&& 符合条件做动作
|| 不符合条件做动作

命令展示:
当ping相应的网址没有报错信息时,输出yes,有报错信息时输出no。
在这里插入图片描述

test命令作用

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

test命令的用法

1.test命令的含义

test命令相当于[]
test "$a" = "$b" = [ "$a" = "$b" ]

这里要注意空格否则报错。
在这里插入图片描述
2.对数值的测试

test
=
!=
-eq										#等于
-ne										#不等于
-lt										#小于
-gt										#大于
-le										#小于等于
-ge										#大于等于

命令展示:
第一组
注意! -eq虽然执行效果和-ne相同,但其实使用了两次判断,因此执行效率低于-ne。
在这里插入图片描述
第二组
在这里插入图片描述
第三组
在这里插入图片描述
3.对字符的测试

-n										#nozero 判定内容不为空 
-z										#zero 判定内容为空

在这里插入图片描述
4.对文件的测试

-ef										#文件节点号是否一致(硬链) 
-nt										#文件1是不是比文件2新 
-ot										#文件1是不是比文件2老 
-d										#目录 
-S										#套结字 
-L										#软连接 
-e										#存在
-f										#普通文件
-b										#块设备
-c										#字符设备

命令展示:
第一组
这里先补充一下硬链接和软连接的知识:
1.如果想要读取文件内容,就必须借助目录中记录的文件名找到该文件的inode,才能成功找到文件内容所在的block块,创建硬链接后,己经存在的文件的节点号(Inode)会被多个目录文件项使用。
2.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接它就可以,不必重复的占用磁盘空间。
硬链接: ln 源文件 目标文件
它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
软链接: ln -s 源文件 目标文件
它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间。
在这里插入图片描述
第二组
在这里插入图片描述
第三组
在这里插入图片描述
5.补充-条件关系

-a										#并且
-o										#或者

使用export可以传参
在这里插入图片描述
在这里插入图片描述

test命令练习

编写脚本完成以下条件:
file_check.sh 在执行时如果脚本后未指定检测文件则报错“未指定检测文件,请指定”,如果脚本后指定文件不存在则报错“此文件不存在”,当文件存在时请检测文件类型并显示到输出中。
$():执行括号里面动作
如果按test -L -d等做判断时,记得将链接-L在文件-f前判断,否则当lyueyue1为lyueyue的软链接时,lyueyue1实际不存在,但test -f会返回成功值。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值