Linux test命令

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux test命令相关的知识,希望对你有一定的参考价值。

参考文章:Linux常用命令—test命令

test

执行条件表达式。

概要

 test [expr]

主要用途

执行条件表达式。

参数

文件操作符

 -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 
 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

返回值

如果表达式执行结果为成功时返回0,当表达式执行结果为失败或给出非法参数时返回1。

例子

 # 执行条件表达式并显示返回值。
 [root@pc root]$ test ! "abc" == 123; echo $?
 0
 ​
 # 等价形式,注意:方括号 [ 后面的空格以及方括号 ] 前面的空格。
 [root@pc root]$ [ ! "abc" == 123 ]; echo $?
 0[root@pc root]$ [[ ! "abc" == 123 ]]; echo $?
 0

注意

该命令等价于 [

编写 bash 条件表达式可用内建命令 test[ ,组合命令 [[

参考文章:Linux常用命令—test命令

以上是关于Linux test命令的主要内容,如果未能解决你的问题,请参考以下文章

linux /bin/sh -c的用途

Linux应用程序基础 1应用程序与系统命令的关系 文件位置 主要用途

总结Linux目录结构说明每个目录主要的用途

linux命令——cat

linux查看日志的命令是?具体怎么用

一文总结Linux常用命令