shell的执行流控制

本文详细介绍了Shell脚本中的执行流控制结构,包括for、while、until、if、case、expect以及break、continue、exit的用法,帮助读者掌握如何在Linux环境下编写和控制Shell脚本流程。
摘要由CSDN通过智能技术生成

1.for

for循环结构:

for 定义变量
do 使用变量,执行动作
done 结束标志

格式1:
#!/bin/bash
for WESTOS in `seq 2 2 10`
do
echo $WESTOS
done

在这里插入图片描述

格式2:
for WESTOS in 1 2 3
do
echo $WESTOS
done

在这里插入图片描述
在这里插入图片描述

格式3:
for WESTOS in {10..1}
do
echo $WESTOS
done

在这里插入图片描述

格式4:
for ((WESTOS=0;WESTOS<10;WESTOS++))
do
echo $WESTOS
done

在这里插入图片描述
双括号的作用:
在这里插入图片描述

2.while

while ture   	条件为真
do 				条件成立所做循环动作

done

在这里插入图片描述

3.until

until false 	条件为假
do  			条件不成立所做循环动作

done

4.if

if
then
elif
then
...
else
fi

在这里插入图片描述
在这里插入图片描述

5.case

case $1 in
	word1|WORD1)
	action1
	;;
	word2|WORD2)
	action2
	;;
	*)
	action3
esac

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.expect

需要安装expect
dnf install expect -y

问题脚本
#!/bin/bash
read -p "what's your name:" NAME
read -p "How old are you: " AGE
read -p "Which objective: " OBJ
read -p "Are you ok? " OK
echo $NAME is $AGE\'s old study $OBJ feel $OK
应答脚本
#!/usr/bin/expect
set timeout 1   #等待1s,否则会卡在问题搜索中
set NAME [ lindex $argv 0 ]
set AGE [ lindex $argv 1 ]
set OBJ [ lindex $argv 2 ]
set FEEL [ lindex $argv 3 ]
spawn /mnt/ask.sh     			#spwan监控
expect {
"name" { send "$NAME\r";exp_continue }
"old" { send "$AGE\r";exp_continue }
"objective" { send "$OBJ\r";exp_continue }
"ok" { send "$FEEL\r" }
}
expect eof   #运行后推出环境
#interact	 #运行后保留环境

7.break,continue,exit

7.1 contiue

contiue      终止当前循环提前进入下个循环

在这里插入图片描述
在这里插入图片描述

7.2 break

break     终止当前所在语句所有动作进行语句外的其他动作

在这里插入图片描述

7.3 exit

exit      脚本退出

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值