shell的执行流控制

本文详细介绍了Shell脚本中的执行流控制,包括for语句的用途和结构,while和until循环,if条件判断,case多条件选择,以及expect的问答交互功能。此外,还列举了break、continue和exit在脚本中的应用,并分享了四个实践性的脚本实验,如检查主机网络和验证文件存在性等。
摘要由CSDN通过智能技术生成

1.for语句

作用

为循环执行动作

for语句结构

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

for语句的基本格式

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

格式2:
for tree in {
   1..8}
do 
    echo $tree
done

格式3:
for USER in `seq 1 3 10` 
do 
    echo $USER
done
##`表示先执行   seq可以设定步长

格式4:
for ((dev=1;dev<10;dev++)) :开始是1,自加1且不超过10
do 
    echo $dev
done

2.条件语句

while…do 语句

  • 作用:条件为真执行动作
  • 语句结构

while ture :条件为真
do :条件成立时做循环动作
done :结束循环

until…do语句

  • 作用:条件为假的执行动作
  • 语句结构

until false :条件为假
do :条件成立时做循环动作
done :结束循环

if语句

  • 作用:多次判定条件执行动作
  • 语句结构
结构:
if     :首次判定条件
then   :条件成立时执行动作
elif   :当首次判定不成功时再次判定
then   :条件成立执行动作
... 注:elif可以书写多次
else   :所有条件部成立执行动作
fi     :结束

5.case

  • 作用:多次判定条件执行动作,但可以单一跳跃,条件之间无关
  • 语句结构:
case $1 in    $1:执行脚本所根第一串字符
word1|WORD1)  :注,大小写均可作为条件
action1       :条件成立时执行动作
;;
word2|WORD2)
action2
;;
*)            :其余所有条件
action3
esac          :结束
要求:
setuser.sh

sh setuser.sh
[D]elete [C]reate [E]xit
Please input action:D Delete delete DELETE
Please input username:user1
user1存在:
删除user1并显示user1 is delete
Please input action

user1不存在:
user1 is not exist
Please input action:

Please input action: C c Create create CREATE
Please input username:user1

user1存在:
user1 is exist
Please input action;

user1不存在
建立user1 并输出user1 is created
Please input action

Please input action:E e Exit EXIT
显示bye 然后退出

测试:
#!/bin/bash
while true
do
     echo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值