shell编程之if语句
Posted 世界美好與你環環相扣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程之if语句相关的知识,希望对你有一定的参考价值。
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语句的主要内容,如果未能解决你的问题,请参考以下文章