test - 命令
test
1. 介绍
test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试
2. 数值测试
参数 | 含义 |
---|---|
-eq | 等于,返回 true |
-ne | 不等于,返回 true |
-gt | 大于,返回 true |
-ge | 大于等于,返回 true |
-lt | 小于,返回 true |
-le | 小于等于,返回 true |
2.1 数值测试实例
- 测试两个值是否相等
[root@localhost 桌面]# vim test.sh
#!/bin/bash
#
num1=1
num2=1
if test $[num1] -eq $[num2]
then
echo 'two values equal'
else
echo 'two values not equal'
fi
[root@localhost 桌面]# ./test.sh
two values equal
- 测试 num1 是否小于 num2
[root@localhost 桌面]# vim test.sh
#!/bin/bash
#
num1=1
num2=1
if test $[num1] -lt $[num2]
then
echo 'yes'
else
echo 'nol'
fi
[root@localhost 桌面]# ./test.sh
no
3. 字符串测试
参数 | 含义 |
---|---|
= | 等于,返回 true |
!= | 不相等,返回 true |
-z 字符串 | 字符串的长度为零,返回 true |
-n 字符串 | 字符串的长度不为零,返回 true |
3.1 字符串测试实例
- 测试两个字符串是否相等
[root@localhost 桌面]# vim test.sh
#!/bin/bash
#
num1=Tzyy
num2=Tzyy
if test $[num1] = $[num2]
then
echo 'yes'
else
echo 'no'
fi
[root@localhost 桌面]# ./test.sh
yes
- 测试输入是否为空
[root@localhost 桌面]# vim test.sh
#!/bin/bash
#
num1=
read num1
if test -z $num1
then
echo '为空'
else
echo '不为空'
fi
[root@localhost 桌面]# ./test.sh
为空
4. 文件测试
选项 | 含义 |
---|---|
-d 文件名 | 如果文件存在并且是目录,返回 true |
-e 文件名 | 如果文件存在,返回 true |
-f 文件名 | 如果文件存在并且是普通文件,返回 true |
-r 文件名 | 如果文件存在并可读,返回 true |
-s 文件名 | 如果文件存在并且不为空,返回 true |
-w 文件名 | 如果文件存在并可写,返回 true |
-x 文件名 | 如果文件存在并可执行,返回 true |
4.1 文件测试实例
- 测试文件是否存在
[root@localhost 桌面]# vim test.sh
#!/bin/bash
#
num1=
read num1
if test -e $num1
then
echo '存在'
else
echo '不存在'
fi
[root@localhost 桌面]# ./test.sh
/etc/passwd
存在
- 测试文件是否可执行
[root@localhost 桌面]# vim test.sh
#!/bin/bash
#
num1=
read num1
if test -x $num1
then
echo '可执行'
else
echo '不可执行'
fi
[root@localhost 桌面]# ./test.sh
/etc/passwd
不可执行
橘子不是唯一的水果 -Tzyy
希望这篇文章能对你有帮助哦~