第五节shell脚本中的运行流程控制(1)(2)

第五节shell脚本中的运行流程控制

一,什么是运行流程控制

  • 脚本默认的程序运行方式是自上而下运行
  • 在我们的生成环境中,有的动作需要重复,有的动作需要满足一些条件
  • 如何按照我们需要的逻辑运行动作,这就是流程控制

二,条件运行流程控制

条件运行流程控制是脚本在运行时,需要有几个分支,在符合那个条件运行那个分支在脚本中我们通常用if语句来编写条件控制流程

1,if单分支结构
#语法:
#!/bin/bash
if [条件]
then
动作1
动作2
... ...
fi

示例

当系统/分区使用容量超过80%时给root用户发送警告

vim demo_disk.sh

#!/bin/bash
Disk_Status=`df -h / |tr -s ' '| grep dev | cut -d " " -f 5 | cut -d % -f 1`
if [ "$Disk_Status" -gt "80" ]
then
	echo "waring: / is full !!" | mail -s "Disk_waring" root
fi

2,if双分支结构

语法:
#!/bin/bash
if [条件]
then
动作1
动作2
... ...
else
动作1
动作2
... ...
fi

示例:
给定用户判断用户是否存在,如果存在显示用户存在,如果不存在建立用户

vim demo_disk.sh
#!/bin/bash
id $1 &> /dev/null
if [ "$?" = "0" ]
then
	echo $1 is exist
else
	useradd $1
fi

3,if多分支结构

语法:
if 条件表达式1
then
	命令序列1
elif 条件表达式2
then
	命令序列2
elif 条件表达式3
then
	命令序列3
else
	命令序列n
fi

示例:

给定一个文件名称,判定文件是否存在,如果存在显示文件的类型,如果不存在显示文件不存在

vim checkfile_demo.sh
#!/bin/bash
if [ -z "$1" ]
then
	echo please input a checkfilename following $0 !!
elif [ ! -e "$1" ]
then
	echo $1 is not exist
elif [ -L "$1" ]
then
	echo $1 is common file
elif [ -d "$1" ]
then
	echo $1 is directory
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

星鬼123

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

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

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

打赏作者

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

抵扣说明:

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

余额充值