深浅模式
流程控制(重点)
if 判断 单分支
1)基本语法 单分支
shell
if [ 条件判断式 ];then
程序
fi或者
shell
if [ 条件判断式 ]
then
程序
fi注意事项:
- [ 条件判断式 ],中括号和条件判断式之间必须有空格
- if 后要有空格
单分支案例实操
输入一个参数,如果该参数是xixi 则输出 welcome, xixi 如果是其他则什么也不输出。
shell
#!/bin/bash
if [ "$1" = xixi ]
then
echo "welcome, xixi"
fi
if 判断 多分支
1)基本语法 多分支
shell
if [ 条件判断式 ]
then
程序
elif [ 条件判断式 ]
then
程序
else
程序
fi多分支案例实操
输入一个年龄,如果年龄小于18岁输出未成年人,小于35岁输出青年人,小于60岁输出中年人,其他输出老年人。
shell
# 输入第二个参数,表示年龄,判断属于哪个年龄段
if [ $2 -lt 18 ]
then
echo "未成年人"
elif [ $2 -lt 35 ]
then
echo "青年人"
elif [ $2 -lt 60 ]
then
echo "中年人"
else
echo "老年人"
fi
case 语句
1)基本语法 case 语句
shell
case $变量名 in
"值 1")
如果变量的值等于值 1,则执行程序 1
;;
"值 2")
如果变量的值等于值 2,则执行程序 2
;;
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac注意事项:
- case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。
- 双分号“;;”表示命令序列结束,相当于 java 中的 break。
- 最后的“*)”表示默认模式,相当于 java 中的 default。
case语句案例实操
输入一个数字,如果是数字1 则输出one 数字2 则输出two 数字3 则输出three 其他则输出 number else
shell
#!/bin/bash
case $1 in
1)
echo "one"
;;
2)
echo "two"
;;
3)
echo "three"
;;
*)
echo "number else"
;;
esac
