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
希望这篇文章能对你有帮助哦~

浙公网安备 33010602011771号