每天学一个 Linux 命令(95):test
发布日期:2021-07-01 03:54:51
浏览次数:2
分类:技术文章
本文共 2084 字,大约阅读时间需要 6 分钟。
点击下方“民工哥技术之路”,选择“设为星标”
回复“1024”获取独家整理的学习资料!
命令简介
test 命令执行条件表达式,用于检查文件类型并比较值,评估条件。如果为 true,则返回 0 退出状态,否则返回 1。
语法格式
test EXPRESSION
选项说明
文件操作符
-a FILE 如果文件存在,则为true。-b FILE 如果文件是块特殊的,则为true。-c FILE 如果文件是特殊字符,则为true。-d FILE 如果文件是目录,则为true。-e FILE 如果文件存在,则为true。-f FILE 如果文件存在并且是常规文件,则为true。-g FILE 如果文件是set-group-id,则为true。-h FILE 如果文件是符号链接,则为true。-L FILE 如果文件是符号链接,则为true。-k FILE 如果文件的粘滞位(sticky)设置了,则为true。-p FILE 如果文件是命名管道,则为true。-r FILE 如果您可以读取文件,则为true。-s FILE 如果文件存在且不为空,则为true。-S FILE 如果文件是套接字,则为true。-t FD 如果在终端上打开FD,则为True。-u FILE 如果文件是set-user-id,则为true。-w FILE 如果文件可写,则为true。-x FILE 如果您可以执行文件,则为true。-O FILE 如果文件有效地归您所有,则为true。-G FILE 如果文件有效地归您的组所有,则为true。-N FILE 如果文件自上次读取以来已被修改,则为true。 FILE1 -nt FILE2 根据修改日期,如果 file1 比 file2 新,则为true。FILE1 -ot FILE2 根据修改日期,如果 file1 比 file2 旧,则为true。FILE1 -ef FILE2 如果 file1 为 file2 的硬链接,则为true。
字符串运算符
-z STRING 如果字符串为空,则为true。-n STRING 如果字符串不为空,则为true。STRING 如果字符串不为空,则为true。STRING1 = STRING2 如果字符串相等,则为true。STRING1 != STRING2 如果字符串不相等,则为true。STRING1 < STRING2 如果 STRING1 的字典排序在 STRING2 之前,则为true。STRING1 > STRING2 如果 STRING1 在字典排序在 STRING2 之后,则为true。
其他运算符
-o OPTION 如果启用了shell选项OPTION,则为true。-v VAR 如果设置了shell变量VAR,则为true。-R VAR 如果设置了shell变量VAR并且是变量引用,则为true。!EXPR 如果expr为假,则为true。EXPR1 -a EXPR2 如果expr1和expr2都为true,则为true。EXPR1 -o EXPR2 如果expr1或expr2为true,则为true。arg1 OP arg2 算术表达式测试;OP是 -eq,-ne,-lt,-le,-gt,-ge 中的一个;算术表达式为真时返回true。
参考:https://www.computerhope.com/unix/test.htm
应用举例
比较大小
[root@centos7 ~]# test 100 -gt 99 && echo "Yes, that's true." || echo "No, that's false."Yes, that's true.[root@centos7 ~]# test 100 -lt 99 && echo "Yes." || echo "No."No.
判断字符串
[root@centos7 ~]# [ "mingongge" = "mgg" ]; echo $?1[root@centos7 ~]# [ "mingongge" = "mingongge" ]; echo $?0
测试目录是否存在
[root@centos7 ~]# test ! -d /usr/local/mingongge && echo "yes." ||echo "No."yes.[root@centos7 ~]# test -d /usr/local/mingongge && echo "yes." ||echo "No."No.
推荐阅读 点击标题可跳转
转载地址:https://mingongge.blog.csdn.net/article/details/115423242 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年05月04日 02时04分01秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
[9] JMeter-常用函数的使用
2019-05-01
[12] JMeter-结果分析之图形图表
2019-05-01
has been blocked by CORS policy: Response to preflight request doesn‘t pass access control check 报错
2019-05-01
使用aspose.words 18.6实现pdf文档转换
2019-05-01
Java数组详解
2019-05-01
Java面向对象详解
2019-05-01
vs中动态DLL与静态LIB工程中加入版本信息的方法
2019-05-01
大数据分析技术与应用一站式学习(值得收藏)_v20200418
2019-05-01
Qt 在windows下的串口读写
2019-05-01
SpringApplication执行流程
2019-05-01
自定义Starter
2019-05-01
分布式事务原理探究(一)
2019-05-01
spring cloud consul 应用的多实例名的解决
2019-05-01
人工智能为什么这么火?看看安防江湖30年血战就知道了
2019-05-01
“前端智能为安防产生新的数据价值”
2019-05-01
高斯混合模型
2019-05-01
(8)CMake入门笔记--CMake语法
2019-05-01
3D点云图实验
2019-05-01
头文件中 #ifndef---#define---#endif的作用
2019-05-01