前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shell test命令

Shell test命令

作者头像
小小工匠
发布2021-08-16 10:46:50
3250
发布2021-08-16 10:46:50
举报
文章被收录于专栏:小工匠聊架构

概述

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

或者使用 [ ] 来判断


数值测试

这里写图片描述
这里写图片描述
代码语言:javascript
复制
#!/bin/bash
num1=100
num2=100
if test $[num1] -eq $[num2]
then
    echo '两个数相等!'
else
    echo '两个数不相等!'
fi

输出结果:

代码语言:javascript
复制
两个数相等!
代码语言:javascript
复制
test 整数1 -eq 整数2 #整数相等 

test 整数1 -ge 整数2 #整数1大于等于整数2 

test 整数1 -gt 整数2 #整数1大于整数2 

test 整数1 -le 整数2 #整数1小于等于整数2 

test 整数1 -lt 整数2 #整数1小于整数2 

test 整数1 -ne 整数2 #整数1不等于整数2

字符串测试

这里写图片描述
这里写图片描述
代码语言:javascript
复制
#!/bin/bash
num1="xiaogongjiang"
num2="xiaogongjiang"
if test num1=num2
then
    echo '两个字符串相等!'
else
    echo '两个字符串不相等!'
fi

输出结果:

代码语言:javascript
复制
两个字符串相等!
代码语言:javascript
复制
test –n 字符串 #字符串的长度非零 

test –z 字符串 #字符串的长度是否为零 

test 字符串1=字符串2 #字符串是否相等,若相等返回true 

test 字符串1!=字符串2 #字符串是否不等,若不等反悔false

文件测试

这里写图片描述
这里写图片描述
代码语言:javascript
复制
#!/bin/bash

cd /bin
if test -e ./bash
then
    echo '文件已存在!'
else
    echo '文件不存在!'
fi

输出结果:

代码语言:javascript
复制
文件已存在!

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

代码语言:javascript
复制
cd /bin
if test -e ./notFile -o -e ./bash
then
    echo '有一个文件存在!'
else
    echo '两个文件都不存在'
fi

输出结果:

代码语言:javascript
复制
有一个文件存在!
代码语言:javascript
复制
 test File1 –ef File2 #两个文件是否为同一个文件,可用于硬连接。主要判断两个文件是否指向同一个inode。

 test File1 –nt File2 #判断文件1是否比文件2新 

 test File1 –ot File2 #判断文件1比是否文件2旧 

 test –b file #文件是否块设备文件 

 test –c File #文件并且是字符设备文件 

 test –d File #文件并且是目录 

 test –e File #文件是否存在 (常用)

 test –f File #文件是否为正规文件 (常用)

 test –g File #文件是否是设置了组id 

 test –G File #文件属于的有效组ID 

 test –h File #文件是否是一个符号链接(同-L)

 test –k File #文件是否设置了Sticky bit位

 test –b File #文件存在并且是块设备文件 

 test –L File #文件是否是一个符号链接(同-h) 

 test –o File #文件的属于有效用户ID 

 test –p File #文件是一个命名管道 

 test –r File #文件是否可读 

 test –s File #文件是否是非空白文件 

 test –t FD #文件描述符是在一个终端打开的 

 test –u File #文件存在并且设置了它的set-user-id位 

 test –w File #文件是否存在并可写 

 test –x File #文件属否存在并可执行

判断表达式

代码语言:javascript
复制
if test #表达式为真 

if test ! #表达式为假 

test 表达式1 –a 表达式2 #两个表达式都为真 

test 表达式1 –o 表达式2 #两个表达式有一个为真 

test 表达式1 ! 表达式2 #条件求反
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/08/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 数值测试
  • 字符串测试
  • 文件测试
  • 判断表达式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档