第五节shell脚本中的运行流程控制(3.3-4)

b)until 语句

使用 until 循环结构, 当条件不满足是反复执行指定动作, 直到条件满足,

语句:

until 条件表达式
do
	动作1
	动作2
	...
done

示例: 用大小写字母和数字生成一个 5 位的随机密码

#!/bin/bash
n=1
STRING='abdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ013456789'
until [ "$n" -gt "6" ]
do
	NUM=$[$RANDOM%${#STRING}]
	PASSWD="${PASSWD}${STRING:NUM:1}"
	((n++))
done
echo $PASSWD

四, 选择运行流程控制

当脚本接收到操作者某个动作指令, 脚本按指令文件内容选择运行的某段, 这就是流程控制

判断语句也可以达到选择流程控制的目的, 但是效率低, 因此我们选择 case 完成

语法:

case var in
	选择指令1|...|...)
		动作1
		动作2
		...
		;;
	选择指令2|...|...)
		动作1
		动作2
		...
		;;
	*) #默认动作
		动作1
		动作2
		;;
esac

示例:

1, 运行脚本, 输入 easylee 时, 输出 linux; 输入 linux 时, 输出 easylee, 如果都不是输出 error

vim demo_case.sh
#!/bin/bash
case $1 in
	linux|LINUX)
		echo easylee
		;;
	easylee|EASYLEE)
		echo linux
		;;
	*)
		echo error
		;;
esac

2, 加减计数器

#!/bin/bash
case $2 in
	+)
		echo$[$1+$3]
		;;
	-)
		echo $[$1-$3]
		;;
	"*")
		echo $[$1*$3]
		;;
	/)
		echo $[$1/$3]
		;;
	*)
		echo "error , please use + - * / for number"
esac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星鬼123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值