单分支
if 如果你有房 ;then
我就嫁给你
fi
[root@web01 /scripts]# cat if-1.sh
#!/bin/bash
if ls /root &>/dev/null;then
echo "目录存在"
fi
[root@web01 /scripts]# sh if-1.sh
目录存在
双分支
if 如果你有房 ;then
我就嫁给你
else
拜拜
fi
[root@web01 /scripts]# cat if-2.sh
#!/bin/bash
if ls $1 &>/dev/null;then
echo "$1 目录存在"
else
echo "$1 目录不存在"
fi
[root@web01 /scripts]# sh if-2.sh /root
/root 目录存在
[root@web01 /scripts]# sh if-2.sh /roo
/roo 目录不存在
多分支
if 如果你有房 ;then
我就嫁给你
elif 如果你有钱 ;then
也可以嫁给你
elif 长得帅 ;then
可以聊聊
elif 你在老男孩学运维 ;then
倒贴也嫁给你
else
拜拜
fi
#判断系统某个用户是否存在系统和存在家目录
第一种方法
[root@web01 /scripts]# cat if-3.sh
#!/bin/bash
read -p "请输入一个要检测的用户:" User
if grep $User /etc/passwd &>/dev/null;then
echo "用户 $User 存在该系统。" && ls /home/$User &>/dev/null && echo "用户 $User 存在家目录。" || echo "用户 $User 不存在家目录。"
elif ls /home/$User &>/dev/null;then
echo "用户 $User 不存在该系统"
echo "但是用户 $User 存在家目录。"
else
echo "用户 $User 不存在该系统"
echo "但是用户 $User 也不存在家目录。"
fi
第二种方法
[root@web01 /scripts]# cat if-4.sh
#!/bin/bash
read -p "请输入一个要检测的用户:" User
if grep $User /etc/passwd &>/dev/null;then
echo "用户 $User 存在该系统。"
if ls /home/$User &>/dev/null;then
echo "用户 $User 存在家目录。"
else
echo "用户 $User 不存在家目录。"
fi
elif ls /home/$User &>/dev/null;then
echo "用户 $User 不存在该系统"
echo "但是用户 $User 存在家目录。"
else
echo "用户 $User 不存在该系统"
echo "但是用户 $User 也不存在家目录。"
fi
[root@web01 /scripts]# cat if-5.sh
#!/bin/bash
String="Bigdata process is Hadoop, Hadoop is open source project"
echo $String
cat <<EOF
1)打印string长度
2)删除字符串中所有的Hadoop
3)替换第一个Hadoop为Linux
4)替换全部Hadoop为Linux
EOF
read -p "请根据上方的菜单的选项输出对应的功能,如{1|2|3|4}:" Num
if [ $Num -eq 1 ];then
echo "当前String变量的长度为:${#String}"
elif [ $Num -eq 2 ];then
echo "删除变量中的所有Hadoop字符串。"
echo ${String//Hadoop/}
elif [ $Num -eq 3 ];then
echo "替换变量中的第一个Hadoop为Linux。"
echo ${String/Hadoop/Linux}
elif [ $Num -eq 4 ];then
echo "替换变量中的所有的Hadoop为Linux。"
echo ${String//Hadoop/Linux}
else
echo "你输入的数字不符合要求,请按照要求输入:{1|2|3|4}"
fi