linux test命令

linux系统下test命令是什么呢?下面是test命令的具体介绍:

1、test命令功能:用来检查文件和比较值。

2、test命令使用:

判断表达式:

if test (表达式为真)

if test !表达式为假

test 表达式1 –a 表达式2 两个表达式都为真

test 表达式1 –o 表达式2 两个表达式有一个为真

判断字符串:

test –n 字符串 字符串的长度非零

test –z 字符串 字符串的长度为零

test 字符串1=字符串2 字符串相等

test 字符串1!=字符串2 字符串不等

判断整数

test 整数1 –eq 整数2 整数相等

test 整数1 –ge 整数2 整数1大于等于整数2

test 整数1 –gt 整数2 整数1大于整数2

test 整数1 –le 整数2 整数1小于等于整数2

test 整数1 –lt 整数2 整数1小于整数2

test 整数1 –ne 整数2 整数1不等于整数2

判断文件

test File1 –ef File2 两个文件具有同样的设备号和i结点号

test File1 –nt File2 文件1比文件2 新

test File1 –ot File2 文件1比文件2 旧

test –b File 文件存在并且是块设备文件

test –c File 文件存在并且是字符设备文件

test –d File 文件存在并且是目录

test –e File 文件存在

test –f File 文件存在并且是正规文件

test –g File 文件存在并且是设置了组ID

test –G File 文件存在并且属于有效组ID

test –h File 文件存在并且是一个符号链接(同-L)

test –k File 文件存在并且设置了sticky位

test –b File 文件存在并且是块设备文件

test –L File 文件存在并且是一个符号链接(同-h)

test –o File 文件存在并且属于有效用户ID

test –p File 文件存在并且是一个命名管道

test –r File 文件存在并且可读

test –s File 文件存在并且是一个套接字

test –t FD 文件描述符是在一个终端打开的

test –u File 文件存在并且设置了它的set-user-id位

test –w File 文件存在并且可写

test –x File 文件存在并且可执行

3、工作原理:

test 命令最短的定义可能是评估一个表达式;如果条件为真,则返回一个 0 值。如果表达式不为真,则返回一个大于 0 的值 — 也可以将其称为假值。检查最后所执行命令的状态的最简便方法是使用 $? 值。出于演示的目的,本文中的例子全部使用了这个参数。

test 命令期望在命令行中找到一个参数,当 shell 没有为变量赋值时,则将该变量视为空。这意味着在处理脚本时,一旦脚本寻找的参数不存在,则 test 将报告该错误。

当试图保护脚本时,您可以通过将所有参数包含在双引号中来解决这个问题。然后 shell 将变量展开,如果变量没有值,那么将传递一个空值给 test。另一种方法是在脚本内增加一个额外检查过程来判断是否设置了命令行参数。如果没有设置命令行参数,那么脚本会告诉用户缺少参数,然后退出。

4、test 文件运算符

利用这些运算符,可以在程序中根据对文件类型的评估结果执行不同的操作:

-b file 如果文件为一个块特殊文件,则为真

-c file 如果文件为一个字符特殊文件,则为真

-d file 如果文件为一个目录,则为真

-e file 如果文件存在,则为真

-f file 如果文件为一个普通文件,则为真

-g file 如果设置了文件的 SGID 位,则为真

-G file 如果文件存在且归该组所有,则为真

-k file 如果设置了文件的粘着位,则为真

-O file 如果文件存在并且归该用户所有,则为真

-p file 如果文件为一个命名管道,则为真

-r file 如果文件可读,则为真

-s file 如果文件的长度不为零,则为真

-S file 如果文件为一个套接字特殊文件,则为真

-t fd 如果 fd 是一个与终端相连的打开的文件描述符(fd 默认为 1),则为真

-u file 如果设置了文件的 SUID 位,则为真

-w file 如果文件可写,则为真

-x file 如果文件可执行,则为真

以上就是小编今天的分享了,希望可以帮助到大家。

标签:linux test命令

免责声明:本内容来自橡树街平台创作者或收集于互联网公开资源,不代表橡树街网的观点和立场。如有侵权内容,请联系我们删除。联系邮箱:ihuangque@qq.com
相关推荐
linux talk命令详解
2022-08-05
linux talk命令详解
linux强制删除文件
2022-08-05
linux强制删除文件
linux查看硬件配置命令
2022-08-05
linux查看硬件配置命令
linux的解压zip文件怎么打开
2022-08-05
linux的解压zip文件怎么打开
linux look命令详解
2022-08-05
linux look命令详解
linux移动文件到另一个文件夹
2022-08-05
linux移动文件到另一个文件夹
linux设置系统时间
2022-08-05
linux设置系统时间
linux开放80端口命令
2022-08-05
linux开放80端口命令
linux系统是做什么的
2022-08-05
linux系统是做什么的
linux tftp命令详解
2022-08-05
linux tftp命令详解
手机老是弹出广告怎么解决
2022-08-05
手机老是弹出广告怎么解决
小爱同学怎么判断我喜欢的人喜不喜欢我
2022-08-05
小爱同学怎么判断我喜欢的人喜不喜欢我
安卓手机如何打开.kmz文件
2022-08-05
安卓手机如何打开.kmz文件
苹果手机文件管理在哪里
2022-08-05
苹果手机文件管理在哪里
安卓手机如何打开.sav文件
2022-08-05
安卓手机如何打开.sav文件
昆明哪里有正宗重庆火锅
2022-07-27
昆明哪里有正宗重庆火锅
列宁的原名叫什么
2022-07-27
列宁的原名叫什么
贵州省公务员报名时间2022
2022-07-27
贵州省公务员报名时间2022
晋江到惠安要经过哪些地方
2022-07-27
晋江到惠安要经过哪些地方
江南区景点
2022-07-27
江南区景点
农村拿来的鸡蛋很脏咋办
2022-07-27
农村拿来的鸡蛋很脏咋办
南方室内常见的十种虫子
2022-07-27
南方室内常见的十种虫子
月饼的口感怎么描述
2022-07-27
月饼的口感怎么描述
西瓜可以放几天
2022-07-27
西瓜可以放几天
人类感官无法观察到的地震征兆是什么
2022-07-27
人类感官无法观察到的地震征兆是什么