shell条件语句
一、if语句
if语句的使用要判断多个不同条件
1.1 单分支语句
- if单分支语句是当满足某个条件时,执行某个操作,而不满足该条件时,不执行任何操作
- 结构:
基本格式:
if 条件测试操作
then 命令序列
fi
示例:
1.2 双分支语句
- if双分支语句是当满足某个条件时,执行某个操作,当不满足这个条件时,执行另一个操作
- 结构:
基本格式:
if 条件测试操作
then 命令序列1
else 命令序列2
fi
示例:
1.3 多分支语句
- if多分支语句是当满足条件1时,执行命令1;
——>当不满足条件1时,往下走,判断是否满足条件2,如果满足条件2则执行命令2;
——>如果不满足条件2,则继续往下走,直到走到else语句,说明之前的条件都不满足,最终执行命令n - 结构:
基本格式:
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
... ...
else
命令序列3
fi
示例:
二、case分支语句
- case语句主要用于以下场景:当每个变量存在多种取值时,需要对其中的每一种取值分别执行不同的命令序列
- if语句是要判断多个不同条件,而case判断一个变量的不同取值
- 结构:
基本格式:
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
....
*)
默认命令序列
esac
- case行尾必须为单词 in ,每一行必须以括号“ )”结束
- 双分号“;;”表示命令序列结束
- 可以用方括号“ [ ] ”表示一个连续的范围,如“[ 0-9 ]”;还可以用“ |”表示,比如“ A|B ”
- 最后的“ )* ”表示默认模式,如果以上取值都不相同,则执行此行
示例: