Shell脚本test命令使用总结和实例

 更新时间:2014年07月19日 10:41:02   投稿:junjie  
这篇文章主要介绍了Shell脚本test命令使用总结和实例,分别对数字测试、字符串测试、文件测试做了总结,并给出了实际使用例子,需要的朋友可以参考下

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

数值测试

参数 说明
-eq 等于则为真
-ne 不等于则为真
-gt 大于则为真
-ge 大于等于则为真
-lt 小于则为真
-le 小于等于则为真

例如:

复制代码 代码如下:

num1=100
num2=100
if test $[num1] -eq $[num2]
then
    echo 'The two numbers are equal!'
else
    echo 'The two numbers are not equal!'
fi

输出:
The two numbers are equal!

字符串测试

参数 说明
= 等于则为真
!= 不相等则为真
-z 字符串 字符串长度伪则为真
-n 字符串 字符串长度不伪则为真

例如:

复制代码 代码如下:

num1=100
num2=100
if test num1=num2
then
    echo 'The two strings are equal!'
else
    echo 'The two strings are not equal!'
fi

输出:
The two strings are equal!

文件测试

参数 说明
-e 文件名 如果文件存在则为真
-r 文件名 如果文件存在且可读则为真
-w 文件名 如果文件存在且可写则为真
-x 文件名 如果文件存在且可执行则为真
-s 文件名 如果文件存在且至少有一个字符则为真
-d 文件名 如果文件存在且为目录则为真
-f 文件名 如果文件存在且为普通文件则为真
-c 文件名 如果文件存在且为字符型特殊文件则为真
-b 文件名 如果文件存在且为块特殊文件则为真

例如:

复制代码 代码如下:

cd /bin
if test -e ./bash
then
    echo 'The file already exists!'
else
    echo 'The file does not exists!'
fi

输出:
The file already exists!

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

复制代码 代码如下:

cd /bin
if test -e ./notFile -o ./bash
then
    echo 'One file exists at least!'
else
    echo 'Both dose not exists!'
fi

输出:
One file exists at least!

相关文章

  • linux find命令之xargs简单概述

    linux find命令之xargs简单概述

    这篇文章主要为大家详细介绍了linux find命令之xargs的简单使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 完美解决mac环境使用sed修改文件出错的问题

    完美解决mac环境使用sed修改文件出错的问题

    下面小编就为大家带来一篇完美解决mac环境使用sed修改文件出错的问题。
    2017-04-04
  • linux下安装配置Memcache和PHP环境的实现

    linux下安装配置Memcache和PHP环境的实现

    下面小编就为大家带来一篇linux下安装配置Memcache和PHP环境的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 脚本批量检测网站是否存活

    脚本批量检测网站是否存活

    这篇文章主要介绍了批量检测网站是否存活的脚本,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 一个ping检测告警函数代码

    一个ping检测告警函数代码

    一个ping脚本,服务器通用告警函数。在没有 nagios 的情况下,这个暂且可以用来作为服务器告警使用
    2013-02-02
  • 批量转换目录下文件编码的shell脚本代码

    批量转换目录下文件编码的shell脚本代码

    分享一例shell脚本,实现可以批量转换目录下的文件编码,很实用的一个小shell,有需要的朋友参考下
    2013-11-11
  • 一文详解Linux权限的相关知识

    一文详解Linux权限的相关知识

    Linux权限是用来管理文件和目录访问权限的机制,每个文件和目录都有一个所有者和一个所属组,同时也有针对所有者、所属组和其他用户的权限设置,本篇文章将讲授Linux的权限相关的知识,需要的朋友可以参考下
    2023-09-09
  • 详解Shell编程之变量数值计算(一)

    详解Shell编程之变量数值计算(一)

    本篇文章主要介绍了详解Shell编程之变量数值计算,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Linux 命令每天必学(34)之du命令

    Linux 命令每天必学(34)之du命令

    Linux du命令是查看使用空间的,本文给大家介绍linux du命令的参数,格式,功能等相关资料,对linux du命令感兴趣的朋友一起学习吧
    2015-11-11
  • Shell脚本实现memcache缓存命中率监控

    Shell脚本实现memcache缓存命中率监控

    这篇文章主要介绍了Shell脚本实现memcache缓存命中率监控,这个脚本比较简单,通过check_tcp脚本获取memcached的stats信息,然后将该信息格式化成一个字符串,然后将get_hits比上cmd_gets就能得到缓存命中率,需要的朋友可以参考下
    2014-12-12

最新评论