Test 命令
判断文件名是否存在
test -e neme
判断该文件是否存在且为文件
test -f name
判断该文件是否存在且为目录
test -d name
例:判断name文件名是否存在
test -e name && echo exist || echo not exist
加入判断符号 : [ ]
判断 $HOME 这个变量是否为空
[ -e $HOME ]; echo $?
&& :并且
|| :或者
!:反向取值
条件判断: if....then
单层、简单条件判断式
if [条件判断式] ; then 当条件判断成立时,可以进行的命令工作内容 fi 结束判断
一个条件判断
if [条件判断式] ; then 当条件判断成立时,可以进行的命令工作内容
else
当条件判断不成立时,可以进行的命令工作内容
fi 结束判断
多个判断
if [条件判断式一] ; then 当条件判断式一成立时,可以进行的命令工作内容 elif [条件判断式二];then 当条件判断二成立时,可以执行的命令工作内容 else 当条件判断一和二都不成立时,可以进行的命令工作内容 fi 结束判断
循环
while... do....done
while [判断式] do 循环的开始 段落的开始 done 循环的结束
while [ "$yn" != "yes" && "$yn" != "YES" ] do read -p "Please input yes/YES to stop this program: " Yn done echo "OK! you input the correct answer"