没有合适的资源?快使用搜索试试~ 我知道了~
『忘了再学』Shell流程控制 — 33、if条件判断语句(一).doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 85 浏览量
2022-07-10
10:40:36
上传
评论
收藏 1.05MB DOC 举报
温馨提示
试读
11页
『忘了再学』Shell流程控制 — 33、if条件判断语句(一).doc
资源推荐
资源详情
资源评论
『忘了再学』Shell 流程控制 — 33、if 条件判断语句(一)
目录 1、单分支 if 条件语句 2、双分支 if 条件语句(1)示例 1(2)示例 2
什么是流程控制?
普通理解:Shell 编写的程序是顺序执行的,也就是说第一命令先执行,然后接着执行第
二条命令,然后再下一条,以此类推,而流程控制就是改变上面这种顺序执行的方式。
官方理解:流程控制语句用于控制程序的流程, 以实现程序的各种结构方式,即用来实
现对程序流程的选择、循环、转向和返回等进行控制。
Shell 中的流程控制语句分为:
if 条件判断语句。
case 条件判断语句。
for 循环语句。
while 循环语句。
until 循环语句。
1、单分支 if 条件语句
单分支条件语句最为简单,就是只有一个判断条件,如果符合条件则执行某个程序,否则
什么事情都不做。
语法如下:
if[ 条件判断式 ];then
程序
fi
单分支条件语句需要注意几个点:
if 语句使用 fi 结尾,和一般语言使用大括号结尾不同。
[ 条件判断式 ]就是使用 test 命令进行判断,所以中括号和条件判断式之间必须有空格。
then 后面跟符合条件之后执行的程序,可以放在[]之后,用;分割。
也可以换行写入,就不需要;了,
比如单分支 if 语句还可以这样写:
if [ 条件判断式 ]
then
程序
fi
示例:
需求:根分区使用率超过 80%则报警。
# 1.获取根分区使用率
# 1.1 通过 df 命令查看 Linux 系统上的文件系统磁盘使用情况。
# df 命令用于显示目前在 Linux 系统上文件系统磁盘使用情况的统计。
[root@localhost tmp]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 2.1G 16G 12% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 240M 34M 194M 15% /boot
# 1.2 把根分区的磁盘使用情况提取出来
[root@localhost tmp]# df -h | grep /dev/sda3
/dev/sda3 19G 2.1G 16G 12% /
# 1.3 然后用 awk 命令,进行列信息提取,提取第五列。
[root@localhost tmp]# df -h | grep /dev/sda3 | awk ‘{print $5}’
12%
# 1.4 截取前面的数字部分,方便后边判断使用。
# 以%作为分隔符,然后提取 1 列。
[root@localhost tmp]# df -h | grep /dev/sda3 | awk ‘{print $5}’ | cut -d “%” -f 1
12
# 2.编写 Shell 程序
# 2.1 创建一个 Shell 文件 if1.sh
[root@localhost tmp]# vim if1.sh
# 编写内容如下:
#!/bin/bash
# 把根分区使用率作为变量值赋予变量 rate
# 把上面的命令以命令行的方式先敲一遍,确认能获取到我们需要的内容。
# 如果在 Shell 里面直接写,会有很大难度。
rate=$( df -h | grep /dev/sda3 | awk ‘{print $5}’ | cut -d “%” -f 1 )
# 判断 rate 的值如果大于等于 80,则执行 then 后的程序。
# 我们这里为了有演示效果,把输出调整为 10.
if [ $rate -ge 10 ]
then
# 打印警告信息。在实际工作中,也可以向管理员发送邮件。
echo “Warning! /dev/sda3 is full !!!”
fi
# 上面的程序表示,如果根分区使用率超过 80%则打印`Warning! /dev/sda3 is full !!!``,没
有则什么都不做。
# 3. 给 if1.sh 文件赋予执行权限,并执行该脚本。
[root@localhost tmp]# chmod 755 if1.sh
[root@localhost tmp]# ./if1.sh
Warning! /dev/sda3 is full !!!
2、双分支 if 条件语句
语法格式:
if [ 条件判断式 ]
then
条件成立时,执行的程序
else
条件不成立时,执行的程序
fi
(1)示例 1
我们写一个数据备份的例子,来看看双分支 if 条件语句。
创建文件 if2.sh:
剩余10页未读,继续阅读
资源评论
书博教育
- 粉丝: 1
- 资源: 2837
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功