Shell流程控制

单分支

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容