Linux ---------------------内置命令test

Shell中test命令用于检查某个条件是否成立,test一般有三种用法:

  1. 测试文件或者文件夹
  2. 字符串比较
  3. 数值比较

整数比较测试:

if test 数字1 options 数字2

then

fi

options 具体如下:

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

测试案例:文件:

#!/bin/bash

num1=100

num2=100

if test \[num1\] -eq num2

then

echo '两个数相等!'

else

echo '两个数不相等!'

fi

a=5

b=6

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

echo "result 为: $result"

字符串测试

|--------|-------------------|
| 参数 | 说明 |
| = | 等于则为真 |
| != | 不相等 |
| -z 字符串 | 字符串的长度为0则相等 |
| -n 字符串 | 字符串的长度不为0则相等 |
| $ | 测试字符串是否不为空,不为空则为真 |

测试案例:

num1="ru1noob"

num2="runoob"

if test num1 = num2

then

echo '两个字符串相等!'

else

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

fi

文件测试

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

测试案例:

if test -e ./bash

then

echo '文件已存在!'

else

echo '文件不存在!'

fi

相关推荐
fanstuck4 小时前
1M 上下文能怎么用?我用 Seed Evolving 做了一个招标文件版本差异审查器
服务器·人工智能·数据分析·开源·aigc
北龙云海7 小时前
案例分享 | 面向公网业务系统境内访问白名单配置实操方案
运维·网络·安全·网络安全·告警·数据泄露·入侵攻击
FoldWinCard7 小时前
D5 Linux 网络及端口命令
linux·运维·服务器
kirs_ur8 小时前
SSD 在 AI 训练中的角色
大数据·服务器·人工智能
零涂毕业设计8 小时前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
tedcloud1238 小时前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
霸道流氓气质9 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
kirs_ur9 小时前
CXL(Compute Express Link)— 内存扩展的未来
服务器·数据库·性能优化
SakitamaX9 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.9 小时前
Linux系统管理
linux·运维