shell流程控制-04

shell流程控制

在shell语句中,流程控制分为两种:
简单流程控制语句: 选择和循环
复杂流程控制语句: 函数

简单流程控制语句

简单流程中的单分支if语句

流程控制语句一次性写出来,防止遗落.
先写 if fi 在写内容
语法格式:
if [条件]
then
指令
fi
场景: 单一条件,只有一个输出
示例:

定义一个本地变量 用于接受脚本执行时候的参数

a=" 1 " i f [ " 1" if [ " 1"if["{a}" == “man” ]
then
echo “男”
fi
在终端 bash danfi.sh man 将打印 男

简单控制中的双分支if语句+多分支if语句

双分支if语句

语法格式:
if [ 条件 ]
then
指令1
else
指令2
fi

多分支if语句

语法格式:
if [ 条件1 ]
then
指令1
elif [ 条件2 ]
then
指令2
else
指令3
fi

shell流程控制之while语句

语法格式:
while 条件
do
执行语句
done
注意: 条件的类型:
命令 [ [ 字符串表达式 ] ] (( 数字表达式 )) 场景:只要条件满足,就一直循环下去
示例:
a=1
while [ “ a " − l t 5 ] d o e c h o " {a}" -lt 5 ] do echo " a"lt5]doecho"{a}”
a=$((a+1)) 这里的(()) 不要空格 注意
done

shell流程控制之until语句

语法格式:
until 条件
do
执行语句
done
注意: 条件的类型: 命令 [[ 字符串表达式 ]] (( 数字表达式 ))
场景:只要条件不满足,就一直循环下去
示例: a=1
until [ “ a " − e q 5 ] 这 里 是 条 件 a 等 于 5 条 件 成 立 不 执 行 下 面 的 语 句 d o e c h o " {a}" -eq 5 ] 这里是条件a等于5 条件成立 不执行下面的语句 do echo " a"eq5]a5doecho"{a}”
a=$((a+1))
done

shell流程控制之简单函数定义和调用

函数就是讲某些命令组合起来实现某一特殊功能的方式,是脚本编写中非常重要的一部分
简单函数格式: 定义函数: 函数名(){ 函数体 } 调用函数: 函数名 调用函数直接写函数名 后面不要带().

shell流程控制之传参函数定义和调用+脚本传参函数调用

传参函数格式:
函数名 参数
函数体调用参数:
函数名(){
函数体 $n
} 注意: 类似于shell内置变量中的位置参数
示例:
定义函数:
dayin(){ echo “nihao lailao $1” }
调用函数
dayin itcast
dayin itcast2

shell第一阶段之综合演练

需求: 1 zonghe,sh 脚本执行时候需要添加参数才能执行
参数详情:
参数:start 执行效果: 服务启动中…
参数:stop 执行效果: 服务关闭中…
参数:restart 执行效果: 服务重启中…
参数 * 执行效果: 脚本帮助信息
2 参数的数量有限制,只能是1个,多余一个会提示脚本的帮助信息
3 帮助信息使用函数来实现 : 信息内容: 脚本 zonghe.sh 使用方式: zonghe.sh [ start|stop|restart ]
知识点分析:
1 zonghe.sh 脚本执行时候需要添加参数才能执行脚本传参.case语句
2 参数的数量有限制,只能是1个,多余一个会提示脚本的帮助信息 参数数量 条件表达式(验证+数字) if语句
3 帮助信息使用函数来实现 函数定义+调用
4 if语句和case语句嵌套 if语句在外 case语句在内
示例:
#!/bin/bash
#脚本主框架
a="$1"
usage(){
echo “脚本 $0使用方式KaTeX parse error: Expected 'EOF', got '}' at position 27: …top|restart ]" }̲ # 脚本主框架 if [ "#” -eq 1 ]
then
case “${a}” in
start)
echo “服务启动中…”
;;
stop)
echo “服务关闭中…”
;;
restart)
echo “服务重启中…”
;;
*)
usage
;;
esac
else
usage
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值