当前位置: 首页 > news >正文

shell脚本之test命令

shell脚本之test命令

    • 数值比较:
    • 2. 字符串比较:
    • 3. 文件测试:
    • 4. 逻辑操作:
    • 5. 其他测试:

test命令在Shell脚本中用于进行条件测试和条件判断。它用于检查文件、字符串和数值的各种条件,并返回一个状态码,表示条件是否为真。test命令的返回值为0表示真,非零值表示假。

下面是test命令的一些常见用法和示例:

数值比较:

-eq:等于

-ne:不等于

-gt:大于

-ge:大于等于

-lt:小于

-le:小于等于

-eq:等于

-ne:不等于

-gt:大于

-ge:大于等于

-lt:小于

-le:小于等于例如,检查变量num1是否大于变量num2:

num1=10  
num2=5  test $num1 -gt $num2

如果num1大于num2,则返回值为0,否则为非零值。

2. 字符串比较:

* `=`:相等  
* `!=`:不相等  
* `-z`:长度为零(空字符串)  
* `-n`:长度非零(非空字符串)例如,检查变量`str1`是否等于变量`str2`
str1="Hello"  
str2="World"  test $str1 = $str2

如果str1等于str2,则返回值为0,否则为非零值。

3. 文件测试:

* `-e`:文件或目录是否存在  
* `-f`:是否为文件  
* `-d`:是否为目录  
* `-s`:文件大小是否大于零  
* `-r`:是否有读取权限  
* `-w`:是否有写入权限  
* `-x`:是否有执行权限例如,检查文件`/path/to/file.txt`是否存在并且大小大于零:
test -e /path/to/file.txt -a -s /path/to/file.txtcd /bin
if test -e ./bash
thenecho '文件已存在!'
elseecho '文件不存在!'
ficd /bin
if test -e ./notFile -o -e ./bash
thenecho '至少有一个文件存在!'
elseecho '两个文件都不存在'
fi

如果文件存在且大小大于零,则返回值为0,否则为非零值。

4. 逻辑操作:

* `&&`:逻辑与(AND)  
* `||`:逻辑或(OR)例如,检查变量`num1`是否大于10并且小于20:
num1=15  test $num1 -gt 10 -a $num1 -lt 20

如果num1大于10且小于20,则返回值为0,否则为非零值。

5. 其他测试:

* `-o`:或(OR)运算符,用于多个条件之间的或运算。例如,检查变量`num1`是否大于10或小于5:
num1=3  test $num1 -gt 10 -o $num1 -lt 5
http://www.lryc.cn/news/165937.html

相关文章:

  • JAVA设计模式8:装饰模式,动态地将责任附加到对象上,扩展对象的功能
  • Linux学习之MySQL备份
  • 时序分解 | MATLAB实现北方苍鹰优化算法NGO优化VMD信号分量可视化
  • 分类预测 | Matlab实现RBF-Adaboost多特征分类预测
  • 【Java代码规范】阿里编码规约 VS CheckStyle
  • iPhone苹果15手机圆点怎么设置让屏幕上显示出来圆形图标?
  • kibana报错内存溢出问题解决
  • 【C语法】1124循环结构
  • 在PHP8中向数组添加元素-PHP8知识详解
  • Drupal __ 8.5.0 __ XSS文件上传 __CVE-2019-6341
  • Pycharm中配置Celery启动
  • Jmeter —— 常用的几种断言方法(基本用法)
  • mybatis bean属性识别丢失【NoSuchPropertyException】
  • 点云从入门到精通技术详解100篇-基于补全点云与图像像素级融合的障碍物识别
  • 商品分类显示scroll-view布局实现
  • 基本的SELECT语句——“MySQL数据库”
  • DedeCMS5.7远程文件包含漏洞分析
  • GpsAndMap模块开源,欢迎测评
  • DHT11 温湿度传感器
  • vue3 自定义Hooks
  • 计算机组成与设计硬件软件接口学习1
  • 点云从入门到精通技术详解100篇-基于光谱共焦系统的三维点云数据处理
  • 2023年五一杯数学建模B题快递需求分析问题求解全过程论文及程序
  • 华为云征文|华为云云耀云服务器L实例使用教学(一)
  • 编写算法对输入的一个整数,判断它能否被 3,5,7 整除
  • Linux CentOS7设置时区
  • HBase 记录
  • Fiddler抓http数据
  • 【MySQL】redo log 、 undo log、脏页这些概念是什么?
  • 05ShardingSphere-JDBC水平分片