test命令 – 检查条件是否成立

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

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

语法格式:test  [表达式]

常用参数:

-eq (=) 等于则为真
-ne (!=) 不等于则为真
-gt (>) 大于则为真
-ge (>=) 大于等于则为真
-lt (<) 小于则为真
-le (<=) 小于等于则为真

参考实例

判断两个数是否相等:

[root@xtuos.com ~]#
num1=100
num2=100
if test $[num1] -eq $[num2] then    
echo '两个数相等!'
else    
echo '两个数不相等!'
fi 

比较两个数大小:

[root@xtuos.com ~]#
num1=101
num2=100
if test $[num1] -ge $[num2] then    
echo '两个数相等!'
else    
echo '两个数不相等!'
fi 

判断两个字符串是否相等:

[root@xtuos.com ~]#
num1="W3Cschool"
num2="W3Cschool"
if test num1=num2 then    
echo '两个字符串相等!'
else    
echo '两个字符串不相等!'
fi 

判断文件是否存在:

[root@xtuos.com ~]#
cd /bin
if test -e ./bash then    
echo '文件已存在!' else    
echo '文件不存在!'
fi 

另外,Shell还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:”!”最高,”-a”次之,”-o”最低。例如:

[root@xtuos.com ~]#
cd /bin
if test -e ./notFile -o -e ./bash then    
echo '有一个文件存在!' else    
echo '两个文件都不存在'
fi 

原创文章,作者:云东方,如若转载,请注明出处:https://www.yundongfang.com/1497.html

(0)
上一篇 2021年3月18日 下午6:29
下一篇 2021年3月18日 下午6:35

相关推荐

  • pvdisplay命令 – 显示物理卷属性

    pvdisplay命令用于显示物理卷的属性。显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。 语法格式:pvdi…

    Linux命令 2021年3月19日
  • blktrace命令 – 分析磁盘IO

    在Linux系统上,查看磁盘的负载情况,咱们一般使用iostat监控工具。其中很重要的参数就是await,await表示单个I/O所需的平均时间,但它同时包含了I/O Schedu…

    Linux命令 2021年3月19日
  • declare命令 – 声明shell变量

    declare命令用于定义shell变量,但declare定义的变量仅能在当前shell环境中起作用,切换shell环境后将无效。 语法格式: declare [参数] [目录] …

    Linux命令 2021年3月18日
  • loadkeys命令 – 改变linux键盘驱动程序

    loadkeys命令可以根据一个键盘定义表改变 linux 键盘驱动程序转译键盘输入过程。 语法格式:loadkeys [参数] [文件] 常用参数: -v 印出详细的资料,你可以…

    Linux命令 2021年3月18日
  • lprm命令 – 删除打印队列中的打印任务

    lprm命令的英文全称是“Remove jobs from the print queue”,意为用于删除打印队列中的打印任务。尚未完成的打印机工作会被放在打印机贮列之中,这个命令…

    Linux命令 2021年3月19日
  • dmsetup命令 – 显示当前的device mapper的信息

    dmsetup是一个更加底层的逻辑卷管理工具。平时我们管理linux 上的逻辑卷,使用lvm相关的工具即可。lvs是更高级的管理逻辑卷的命令。但是,有时候会出现类似lvm删除不掉的…

    Linux命令 2021年3月19日
  • mkswap命令 – 建立和设置SWAP交换分区

    mkswap命令用于在一个文件或者设备上建立交换分区。在建立完之后要使用sawpon命令开始使用这个交换区。最后一个选择性参数指定了交换区的大小,但是这个参数是为了向后兼容设置的,…

    Linux命令 2021年3月19日
  • Category: 9:其他命令

    ansible是一款简单的运维自动化工具,只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等 […]

    Linux命令 2021年3月18日
  • mailq命令 – 显示待发送的邮件队列

    mailq命令作用是显示用户待发送的邮件队列,显示的每一个条目包括邮件队列id、邮件大小、加入队列时间、邮件发送者和接受者。如果邮件最后一次尝试后还没有将邮件投递出去,则显示发送失…

    Linux命令 2021年3月19日
  • users命令 – 显示当前登录的用户

    users命令用于显示当前登录系统的所有用户的用户列表。每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数。 语法格式:users [参…

    Linux命令 2021年3月18日