if
if单分支流程:直接对if后面的条件进行判断,若成立,执行then下面的命令序列,然后fi结束。若条件不成立,则直接转到fi结束,执行后续命令。
语法
if [ 条件判断 ]
then
commands
fi
或
if [ 条件判断 ] ; then
commands
fi
if单分支语句案例
案例一:判断目录是否存在,不存在则创建
if_dir.sh
脚本内容:
#!/bin/bash
#date:2020-2-21
#描述:if单分支语句示例,判断目录是否存在
read -p "请输入需要判断的目录:" name
if [ ! -d $name ]
then
echo "$name目录不存在,正在创建..."
mkdir -p $name
echo "$name目录创建完成."
fi
echo "$name目录已存在,正在退出..."
执行结果:
[root@linus ~]# sh if_test.sh
请输入需要判断的目录:/backup
/backup目录不存在,正在创建...
/backup目录创建完成.
[root@linus ~]# ll / | grep backup
drwxr-xr-x 2 root root 6 2月 21 23:32 backup
[root@linus ~]# sh if_test.sh
请输入需要判断的目录:/backup
/backup目录已存在,正在退出...
案例二:判断根分区磁盘使用率是否超过8%(为了显示脚本效果),并将剩余大小显示出来
if_disk.sh
脚本内容:
[root@linus ~]# cat if_disk.sh
#!/bin/bash
#date:2020-2-21
#描述:if单分支案例,判断根分区使用率
disk1=`df -h | grep /$ | awk '{print $4}'`
disk2=`df -h | grep /$ | cut -d% -f1 | awk '{print $5}'`
if [ $disk2 -gt 8 ]
then
echo "警告!警告!!根分区使用率已超过8%"
fi
echo "剩余磁盘空间为$disk1"
sleep 1
执行效果:
[root@linus ~]# sh if_disk.sh
警告!警告!!根分区使用率已超过8%
剩余磁盘空间为46G
案例三:判断内存剩余空间是否少于2G(为了显示脚本效果),并将剩余大小显示出来
if_memory.sh
脚本内容:
[root@linus ~]# cat if_memory.sh
#!/bin/bash
#date:2020-2-21
#描述:if单分支案例,判断内存剩余空间
memory=`free -h | awk 'NR==2 {print $4}' | cut -dG -f 1`
memory2=`free -h | awk 'NR==2 {print $4}'`
if [ $memory \< 2 ]
then
echo "警告!警告!!剩余内存空间已小于2G"
fi
echo "内存剩余空间大小为$memory2"
执行结果
[root@linus ~]# sh if_memory.sh
警告!警告!!剩余内存空间已小于2G
内存剩余空间大小为1.2G