shell简记
更新日期:
1. 判断条件
1 | if [ expr ]; then |
- 字符串判断
[ str1 = str2 ] 当两个串有相同内容、长度时为真
[ str1 != str2 ] 当串str1和str2不等时为真
[ -n str1 ] 当串的长度大于0时为真(串非空)
[ -z str1 ] 当串的长度为0时为真(空串)
[ str1 ] 当串str1为非空时为真 - 数字判断
[ a -eq b ] 两数相等为真
[ a -ne b ] 两数不等为真
[ a -gt b ] a大于b为真
[ a -ge b ] a大于等于b为真
[ a -lt b ] a小于b为真
[ a -le b ] a小于等于b为真 - 文件判断
[ -a FILE ] FILE 存在则为真。
[ -b FILE ] FILE 存在且是一个块特殊文件则为真。
[ -c FILE ] FILE 存在且是一个字特殊文件则为真。
[ -d FILE ] FILE 存在且是一个目录则为真。
[ -e FILE ] FILE 存在则为真。
[ -f FILE ] FILE 存在且是一个普通文件则为真。
[ -g FILE ] FILE 存在且已经设置了SGID则为真。
[ -h FILE ] FILE 存在且是一个符号连接则为真。
[ -k FILE ] FILE 存在且已经设置了粘制位则为真。
[ -p FILE ] FILE 存在且是一个名字管道(F如果O)则为真。
[ -r FILE ] FILE 存在且是可读的则为真。
[ -s FILE ] FILE 存在且大小不为0则为真。
[ -t FD ] 文件描述符 FD 打开且指向一个终端则为真。
[ -u FILE ] FILE 存在且设置了SUID (set user ID)则为真。
[ -w FILE ] FILE 如果 FILE 存在且是可写的则为真。
[ -x FILE ] FILE 存在且是可执行的则为真。
[ -O FILE ] FILE 存在且属有效用户ID则为真。
[ -G FILE ] FILE 存在且属有效用户组则为真。
[ -L FILE ] FILE 存在且是一个符号连接则为真。
[ -N FILE ] FILE 存在 and has been mod如果ied since it was last read则为真。
[ -S FILE ] FILE 存在且是一个套接字则为真。
[ FILE1 -nt FILE2 ] FILE1 has been changed more recently than FILE2, or 如果 FILE1 exists and FILE2 does not则为真。
[ FILE1 -ot FILE2 ] FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在则为真。
[ FILE1 -ef FILE2 ] FILE1 和 FILE2 指向相同的设备和节点号则为真。 - 逻辑判断
-a 与
-o 或
! 非
2. 字符串操作
1 | ${#string} $string的长度 |