Introduction
作为上一篇 shell中判断空字符串和有趣的空字符串 的延伸补充
经验之谈
字符串判断或者比较
个人建议或者喜欢用 "$param"x = "x" 来判断字符串是否为空
- 建议加上
双引号 "$param" - 使用
= 、!= 、-n 、-z等执行判断
- = 判断两个字符是否相等,
相等包括字符创的内容和长度 - != 判断两个字符是否不相等
- -n 字符串的长度大于0(非空字符串)
当成 not zero记忆 - -z 字符串的长度等于0(空字符串),
当成 zero记忆
- = 判断两个字符是否相等,
附加:
字符串`param`的长度 `${#param}`
数字的比较
使用如下操作符来比较,不用加双引号 "$param"
- -eq 两个数字
相等 - -ne 两个数字
不相等 - -lt 两个数字前者
小于后者 - -le 两个数字前者
小于等于后者 - -gt 两个数字前者
大于后者 - -ge 两个数字前者
大于等于后者
文件的比较
- -r file 用户可读为真
- -w file 用户可写为真
- -x file 用户可执行为真
- -f file 文件为正规文件为真
- -d file 文件为目录为真
- -c file 文件为字符特殊文件为真
- -b file 文件为块特殊文件为真
- -s file 文件大小非0时为真
- -t file 当文件描述符(默认为1)指定的设备为终端时为真
说明:
这里我们最常用的是
`-f` 判断文件是否存在
`-d` 判断目录是否存在
`-s` 文件是不是非空
简书地址:shell中判断空字符串和有趣的空字符串(延伸篇)
公众号: DailyJobOps