实战演练
- if条件
if condition;
then
commands;
fi
- else if和else
if condition;
then
commands;
else if condition; then
else
commands;
fi
- 算术比较
- -gt:大于 #greater than
- -lt:小于 #less than
- -ge:大于或等于 #greater equal
- -le:小于或等于 #less equal
文件系统相关测试
- [ -f $file_var ]:如果给定的变量包含正常的文件路径或文件名,则返回真。
- [ -x $var ]:如果给定的变量包含的文件可执行,则返回真。
- [ -d $var ]:如果给定的变量包含的是目录,则返回真。
- [ -e $var ]:如果给定的变量包含的文件存在,则返回真。
- [ -c $var ]:如果给定的变量包含的是一个字符设备文件的路径,则返回真。
- [ -b $var ]:如果给定的变量包含的是一个块设备文件的路径,则返回真。
- [ -w $var ]:如果给定的变量包含的文件可写,则返回真。
- [ -r $var ]:如果给定的变量包含的文件可读,则返回真。
- [ -L $var ]:如果给定的变量包含的是一个符号链接,则返回真。
- 字符串比较
- =或==
- !=
- >或<:字母序
- -z:空字符,则返回真
- -n:非空字符,则返回真
[root@shaofeng ~]# ./eq.sh
true
[root@shaofeng ~]# cat eq.sh
#!/bin/bash
str1=""
str2="2"
if [[ -n $str1 ]];then
echo $str1;
elif [[ -z $str2 ]];then
echo $str2;
else
echo true
fi