1. 单分支if语句
1.1 语法格式
if 条件
then
commands
fi
1.2 例子
#!/bin/bash
if ls /shell
then
echo "there is a dir named shell"
fi
执行结果
1.3 流程图
注:根据我们命令退出的码来进行判断($? 是否为 0 ),如果是0,那么就会执行then后面的命令
2. 双分支if语句
2.1 语法格式
if 条件 ;then
commands1
else
commands2
fi
2.2 例子
1)查看/etc/passwd文件中是否包含root
#! /bin/bash
if grep root /etc/passwd;then # “;”分号用于分隔同一行上的多条命令
echo "it is ok"
else
echo "ERROR"
fi
执行结果
2)查看/etc/passwd文件中是否包含admin
#! /bin/bash
if grep admin /etc/passwd;then
echo "it is ok"
else
echo "ERROR"
fi
执行结果
2.3 流程图
3 多分支if语句
3.1 语法格式
# 语法结构
if 条件测试操作1;then
commands1
elif 条件测试操作2;then
commands2
elif 条件测试操作3;then
commands3
......
else
commands
fi
3.2 例子
判断用户在系统中是否存在,是否有家目录
#! /bin/bash
read -p "input a user:" uname
if grep $uname /etc/passwd;then
echo "the user $uname exists on this system"
elif ls -d /home/$uname;then
echo "the user $uname not exists on this system"
echo "the user $uname has a home directory"
else
echo "the user $uname not exists on this system"
echo "the user $uname has no directory"
fi
执行结果