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

数值测试

参数 说明

-eq   等于则为真

-ne   不等于则为真

-gt    大于则为真

-ge   大于等于则为真

-lt    小于则为真

-le   小于等于则为真

实例演示:

num1=100

num2=100

if test $[num1] -eq $[num2]

then

  echo '两个数相等!'

else

  echo '两个数不相等'

fi

输出结果:

两个数相等!

代码中的[]执行基本的算术运算 如:

#!/bin/bash

a=5

b=6

result=$[a+b]  # 注意等号两边不能有空格

echo "result 为:$result"

结果为:

result 为: 11

字符串测试

参数 说明

=     等于则为真

!=   不相等则为真

-z字符串  字符串的长度为零则为真

-n 字符串  字符串的长度不为零则为真

实例演示:

num1="rulnoob"

num2="runoob"

if test $num1 = $num2

then

  echo '两个字符串相等!'

else

  echo '两个字符串不相等!'

fi

输出结果:

两个字符串不相等!

文件测试

参数  说明

-e文件名 说明文件存在则为真

-r 文件名 如果文件存在且可读则为真

-w文件名 如果文件存在且可写则为真

-x文件名 如果文件存在且可执行则为真

-d文件名 如果文件存在且为目录则为真

-f文件名 如果文件存在且为字符型特殊文件则为真

-b文件名  如果文件存在且为块特殊文件则为真

实例演示:

cd /bin

if test -e ./bash

then

  echo '文件已存在!'

else

  echo '文件不存在!'

fi

输出结果:

文件已经存在!

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

转载于:https://www.cnblogs.com/simadongyang/p/8228204.html

Shell test 命令相关推荐

  1. 2021年大数据Kafka(三):❤️Kafka的集群搭建以及shell启动命令脚本编写❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的集群搭建以及shell启动命令脚本编写 一.搭建 ...

  2. linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解

    在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...

  3. Shell test命令(Shell [])详解,附带所有选项及说明

    test 是 Shell 内置命令,用来检测某个条件是否成立.test 通常和 if 语句一起使用,并且大部分 if 语句都依赖 test. test 命令有很多选项,可以进行数值.字符串和文件三个方 ...

  4. Shell+Linux命令实现日志分析

    这篇文章主要介绍了Shell+Linux命令实现日志分析,本文给出了结合grep命令.awk命令等实现了几个常用的日志分析统计长命令,需要的朋友可以参考下 一.列出当天访问次数最多的IP 命令: 复制 ...

  5. 【Linux】1.shell各个命令

    shell各个命令 1.符号参数 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数.如"$*"用「"」括起来的情况.以"$1 $2 - ...

  6. shell 常用命令

    shell 常用命令 Shell基本命令 几个基本的shell命令,用ssh管理主机必备. 1.ls  列出目录下的文件,不同类型的文件颜色不同,例如蓝色是文件夹,白色是文件 [root@restor ...

  7. linux中Shell历史命令记录文件的路径是什么

    Bash shell在"~/.bash_history"("~/"表示用户目录)文件中保存了500条使用过的命令,这样能使你输入使用过的长命令变得容易.每个在系 ...

  8. UEFI Shell 常用命令

    UEFI Shell 常用命令 分类:IT技术 2013-09-11 16:49阅读(14542)评论(0) EFI是Extensible Firmware Interface的缩写,是介于平台固件和 ...

  9. expr命令 linux,Shell expr命令进行整数计算的实现

    expr 是 evaluate expressions 的缩写,译为"表达式求值".Shell expr 是一个功能强大,并且比较复杂的命令,它除了可以实现整数计算,还可以结合一些 ...

  10. linux中的变量文件路径,Linux库文件和Shell可执行程序命令文件搜索路径变量的设置...

    一.库文件的搜索路径: 1.在配置文件/etc/ld.so.conf中指定动态库搜索路径(需要添加其它库文件的路径,在文件的最后添加具体的路径即可 [ 如:/usr/local/lib ],添加后保存 ...

最新文章

  1. 服务器与浏览器数据传输过程中编码问题
  2. 专业地攻击:优秀黑客的Linux基础,part 4(查找文件)
  3. 一文理解微服务架构下的系统可用性如何保证?
  4. git 创建本地仓库、远程仓库,上传项目
  5. python有没有帮助_没想到,python给我的帮助竟然这么大
  6. 【干货】10张GIF动图让你弄懂循环、递归、二分检索等概念
  7. 遍历列表python_python中列表的遍历
  8. hashtable的C++实现
  9. SSM项目连接远程Linux服务器的mysql 启动tomcat卡在了 Initializing Spring root WebApplicationContext...
  10. 28.Linux/Unix 系统编程手册(上) -- 详述进程创建和程序执行
  11. android 输入支付密码错误,Android 支付宝支付密码输入界面
  12. python 实例化_python中如何实例化一个对象-问答-阿里云开发者社区-阿里云
  13. MATLAB学习笔记 imagesc函数使用
  14. 第三章-2 MSF扫描漏洞模块
  15. 学生管理系统IPO图_高校学生考勤管理系统
  16. web zxr10 中兴 路由器_中兴 ZXR10与思科路由器互联问题-路由器
  17. y-oms-wms-tms-bms 订单管理系统、仓库管理系统、运输管理系统、账单管理系统
  18. Git:gnutls_handshake() failed: A TLS packet with unexpected length was received
  19. Fedora 20 的 r8168 与 rtl8723be 驱动
  20. 活化能使用计算机算还是,如何计算反应活化能

热门文章

  1. 三十六、请求分页管理方式
  2. [librosa]0.8版本后不再支持write_wav
  3. oracle迁移mysql视图中函数问题,mysql中to_char自定义函数。
  4. 织梦直接写php标签,非常实用的织梦dede所有标签调用方法大全 .
  5. linux 限制用户端口,linux – Centos 6.4只允许用户绑定到某个端口?
  6. diy 扫地机器人 滚刷_不想动手倒垃圾?自集尘扫地机器人彻底解放你的双手!...
  7. arthas-Java诊断工具
  8. hql删除mysql语句_mysql-使用Hibernate @SQLDelete对所有实体进行软删除
  9. java list 多条件排序_java – 如何对arraylist执行一系列排序操作(多个排序条件)
  10. 如何在vscode运行php代码_如何提高 PHP 代码的质量?