内容经过有选择的整理和收集
if的基本语法
if [ condition];then
command
elif [ condition];then
command
else
command
fi
常用的文件/文件夹(目录)判断
以下只列了常用的,其实还有很多
语句 | 功能 |
---|---|
[ -d DIR ] | 如果 DIR 存在且是一个目录则为真 |
[ -e FILE ] | 如果 FILE 存在则为真 |
[ -r FILE ] | 如果 FILE 存在且是可读的则为真 |
[ -s FILE ] | 如果 FILE 存在且大小不为0则为真 |
[ -w FILE ] | 如果 FILE存在且是可写的则为真 |
[ -x FILE ] | 如果 FILE 存在且是可执行的则为真 |
[ FILE1 -nt FILE2 ] | 如果 FILE1 比 FILE2新, 或者FILE1 存在且 FILE2 不存在t则为真 |
[ FILE1 -ot FILE2 ] | 如果 FILE1 比 FILE2 要旧, 或者 FILE2 存在且 FILE1 不存在则为真 |
字符串判断
补充:==和!=两者都是用于字符串比较的,不可用于整数比较,整数比较只能使用-eq, -gt这种形式。无论是字符串比较还是整数比较最好不要使用大于号小于号,如果要使用需要对大于号小于号进行转义,比如小于号就是 \<
语句 | 功能 |
---|---|
[ -z STRING ] | 如果STRING的长度为零则为真 ,即判断是否为空,空即是真 |
[ -n STRING ] | 如果STRING的长度非零则为真 ,即判断是否为非空,非空即是真 |
[ STRING1 == STRING2 ] | 如果两个字符串相同则为真(等号左右有空格!否则是赋值,下同) |
[ STRING1 != STRING2 ] | 如果字符串不相同则为真 |
数值判断
语句 | 功能 |
---|---|
INT1 -eq INT2 | INT1和INT2两数相等为真 |
INT1 -ne INT2 | INT1和INT2两数不等为真 |
INT1 -gt INT2 | NT1大于INT1为真 |
INT1 -ge INT2 | INT1大于等于INT2为真 |
INT1 -lt INT2 | INT1小于INT2为真 |
INT1 -le INT2 | INT1小于等于INT2为真 |
逻辑判断
$$ 与
|| 或
! 非
持续更新中……
reference
https://blog.csdn.net/zhan570556752/article/details/80399154