[Shell]test命令使用指南
发布时间:2020-12-15 16:53:30 所属栏目:安全 来源:网络整理
导读:Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 1. 数值 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于则为真 -lt 小于则为真 -le 小于等于则为真 Example: num1= 100 num2= 100 if
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 1. 数值
Example: num1=100
num2=100
if test $[num1] -eq $[num2]
then
echo '两个数相等'
else
'两个数不相等'
fi
# 两个数相等
2. 字符串
Example: str1="2016-11-21"
str2="2016-11-22"
if test ${str1} = ${str2}
then
'两个日期相同'
else
'两个日期不相同'
fi
# 两个日期不相同
备注 如果上面的使用方法中,字符串中有空格,则会报错: "2016-11-22 12:34:21"
str2="2016-11-22 12:34:21"
if '两个日期不相同'
fi
输出: 两个日期不相同
/home/xiaosi/code/openDiary/BaSEOperation/src/main/sh/sh_test.sh: 第 6 行: test: 参数太多
解决方案: test "${str1}" = "${str2}"
then
'两个日期不相同'
fi
输出: 两个日期相同 3. 文件
Example: if test -e /home/xiaosi/error.txt
then
'文件存在'
else
'文件不存在'
fi
# 文件存在
if test -r /home/xiaosi/error.txt
then
'文件可读'
else
'文件不可读'
fi
# 文件可读
if test -s /home/xiaosi/error.txt
then
'文件不为空'
else
'文件为空'
fi
# 文件为空
if test -d /home/xiaosi
then
'文件为目录'
else
'文件不为目录'
fi
# 文件为目录
4. 逻辑操作Shell还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:"!"最高,"-a"次之,"-o"最低。 Example: str="2016-11-21"
if "${str}" = "2016-11-21" -a -s /home/xiaosi/error.txt
then
'日期正确 并且 文件不为空'
else
'日期错误 或者 文件为空'
fi
# 日期错误 或者 文件为空 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- unix – chmod 775在一个文件夹上,但不是该文件夹下的所有文
- scala – 如果过滤器函数导致空列表,则返回未过滤的列表
- WebService大讲堂之Axis2(9):编写Axis2模块(Module)
- Bash脚本 – 在变量中存储没有空格的find命令输出
- shell中使用while循环ssh的注意事项
- 为什么这个.vimrc映射在终端中不起作用(但它在MacVim中起作
- scala – Spark – 一次通过RDD上的多个过滤器
- scala – Cats-effect和异步IO细节
- angularjs – Angular ui tab,每个选项卡都有单独的控制器
- scala – 为什么要设置一个函数?