第五节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

相关推荐

  1. shell脚本运行流程控制(1)(2)

    2024-07-21 05:08:03       19 阅读
  2. shell脚本运行流程控制(3.2)

    2024-07-21 05:08:03       15 阅读
  3. 12_Shell流程控制

    2024-07-21 05:08:03       24 阅读
  4. 第一 SHELL脚本常用命令(1)

    2024-07-21 05:08:03       14 阅读
  5. 第一 SHELL脚本常用命令(2)

    2024-07-21 05:08:03       18 阅读
  6. 第一 SHELL脚本常用命令(6)

    2024-07-21 05:08:03       16 阅读
  7. 第一 SHELL脚本常用命令(7)

    2024-07-21 05:08:03       24 阅读
  8. 三十流程控制do-while使用

    2024-07-21 05:08:03       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 05:08:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 05:08:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 05:08:03       45 阅读
  4. Python语言-面向对象

    2024-07-21 05:08:03       55 阅读

热门阅读

  1. Oracle外键约束的三种删除行为

    2024-07-21 05:08:03       19 阅读
  2. SpringBoot整合ElasticSearch

    2024-07-21 05:08:03       18 阅读
  3. 分层评估的艺术:sklearn中的策略与实践

    2024-07-21 05:08:03       20 阅读
  4. etcd磁盘空间故障处理办法

    2024-07-21 05:08:03       19 阅读
  5. sklearn中的增量学习:特征提取的艺术

    2024-07-21 05:08:03       20 阅读
  6. JVM的 6 种垃圾回收算法

    2024-07-21 05:08:03       20 阅读