linux's docs

14.1.0: 流程控制-条件判断


1. if判断语句

1) 标准if...elfi...else...fi结构

if [ 判断表达式1 ] ;
then
执行语句1;
执行语句2;
...
elif [ 判断表达式2 ];   
then
执行语句1;
执行语句2;
...
else                                       
#当判断表达式1和2都为假时才执行else后面的语句
执行语句1;
执行语句2;
...
fi
## 判断表达式1和判断表达式1之间是独立的关系

2) elfi和else可酌情省略,省略后相关语法可省略成如下形式

## if [ 判断表达式1 ] ;then 执行语句1;执行语句2; fi 可简写为
[[ 判断表达式1 ]] && 执行语句1;执行语句2

## if [ 判断表达式1 ] ;then 执行语句1;else 执行语句2; fi可简写为
[[ 判断表达式1 ]] && 执行语句1 || 执行语句2

3) 扩展:grep -q参数在if语句中的应用

基本用法:if grep -q '关键字' file

# if grep -q '^root' /etc/passwd;then echo "good";fi
good

2. case语句

1) case语句基本语法结构

case $变量 in
条件1)
执行语句1;
执行语句2;
...
;;
条件2)
执行语句1;
执行语句2;
...
;;
*)
执行语句1;
执行语句2;
...
;;
esac
## case判断语句多用于服务的启动脚本中

Contents