shell编程之if语句
if语句
1)应用场合:根据特定的条件测试结果,分别执行不通的操作(如果……那么……)
(2)分类:单分支的if语句,多分支的if语句,多分支的if语句
单分支语句:
分支指的是不同测试结果所对应的执行语句(一条或多条)。单分支语句只有在条件成立时才会执行相应的代码,否则不执行任何操作
单分支的语法格式
if 条件测试操作
then
命令序列
fi
单分支应用实例:
#!/bin/bash
#这是一个创建目录的脚本文件
read -p "请输入目录: " dir
if [ ! -d $dir ];then
mkdir -p $dir
echo "目录已创建"
ls -ld $dir
fi
双分支语句
对于双分支的选择结构,要求针对“条件成立”和“条件不成立”两种情况分别执行不同的操作。
格式如下:
if 条件测试操作
then
命令序列1
else
命令序列2
fi
双支应用实例:
#!/bin/bash
#这是个判断当前用户是不是root和qingdong用户的脚本
if [ "$USER" = "root" ];then
echo " root用户"
elif [ "$USER" != "qingdong" ];then
echo "错误:非qingdong用户"
else
echo "当前登录的是$USER用户"
fi
#!/bin/bash
#这是个判断主机是否存活的脚本
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if [ $? -eq 0 ]
then
echo "HOST $1 is up"
else
echo "HOST $1 is down"
fi
多分支的语句:
能进行多次判断,根据测试结果的成立和不成立分别执行操作,能够嵌套使用
多分支语句格式:
if 条件测试操作1
then
命令序列1
elif 条件测试操作2
then
命令序列2
else
命令序列3
fi
多支应用实例:
#!/bin/bash
read -p "请输入用户名:" user
if grep $user /etc/passwd ; then
if [ -d /home/$user ]; then
echo " 该用户状态正常"
else
read -p "该用户没有家目录,是否删除用户,请输入[yes/no]: " ask
if [ $ask == yes ];then
echo "正在删除用户…"
userdel $user
echo "该用户已删除"
elif [ $ask == no ]; then
exit
fi
fi
fi
今天的文章shell编程之if语句分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/6821.html