Alex_McAvoy

想要成为渔夫的猎手

Shell 脚本的分支控制语句

【if 条件语句】

单分支 if 语句

单分支 if 语句是最简单的条件语句,其格式如下:

1
2
3
if [条件表达式]; then
命令序列
fi

关于条件表达式的具体写法,见:Shell 测试命令与条件表达式

需要注意的是,当有多个条件需要判别时,除了采用条件表达式中多重条件判定外,还可以将多个条件拆分为多个 [],中括号之间用 && 代替 -a,用 || 代替 -o

如下例,两种写法在 if 语句中是等价的

1
2
[ "$test1"=="hello" -a "$test2"=="world" ]
[ "$test1"=="hello" ] && [ "$test2"=="world" ]

下面给出单分支 if 语句的实例

双分支 if 语句

双分支 if 语句格式如下:

1
2
3
4
5
if [条件表达式]; then
命令序列1
else
命令序列2
fi

多分支 if 语句

多分支 if 语句格式如下:

1
2
3
4
5
6
7
8
if [条件表达式1]; then
命令序列1
elif [条件表达式2]; then
命令序列2
...
else
命令序列n
fi

【case 语句】

case 语句类似于高级编程语言中的 switch-case 语句,可以将一个变量的内容与多个选项匹配,若匹配成功则执行该条件下的匹配语句,格式如下:

1
2
3
4
5
6
7
8
9
10
11
case "$变量名" in 
"第一个变量内容")
命令序列1 ;;
"第二个变量内容")
命令序列2 ;;
...
"第n个变量内容")
命令序列n ;;
*)
其他 ;;
esac

感谢您对我的支持,让我继续努力分享有用的技术与知识点!