test - 命令

test


1. 介绍

test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试


2. 数值测试

参数 含义
-eq 等于,返回 true
-ne 不等于,返回 true
-gt 大于,返回 true
-ge 大于等于,返回 true
-lt 小于,返回 true
-le 小于等于,返回 true

2.1 数值测试实例

  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

  1. 测试 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 字符串测试实例

  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

  1. 测试输入是否为空
[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 文件测试实例

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

  1. 测试文件是否可执行
[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

posted @ 2021-04-08 17:02  -桃枝夭夭-  阅读(183)  评论(0编辑  收藏  举报