自动化运维:(2)Shell 编程的流程控制

一、 if语句

1、单分支if语句——单一条件,只有一个输出

#!/bin/bash
# 单if语句的使用场景
if [ "$1" == "nan" ]
then
   echo "您的性别是 男"
fi

2、双分支if语句——一个条件,两种结果

#!/bin/bash
# 单if语句的使用场景
if [ "$1" == "nan" ]
then
   echo "您的性别是 男"
else
   echo "您的性别是 女"
fi    

3、多分支if语句——n个条件,n+1个结果

#!/bin/bash
# 单if语句的使用场景
if [ "$1" == "nan" ]
then
   echo "您的性别是 男"
elif [ "$1" == "nv" ]
then
   echo "您的性别是 女"
else
   echo "您的性别,我不知道"
fi

二、case选择语句

case语句格式:

case 变量名 in
   值1)
      指令1
         ;;
   值2)
      指令2
         ;;
   值3)
       指令3
         ;;
esac

示例:

# cat case.sh 
#!/bin/bash
# case语句使用场景
case "$1" in                    
    "start")                    
        echo "服务启动中..."                    
        ;;                    
    "stop")                    
        echo "服务关闭中..."                    
        ;;                            
    "restart")                    
        echo "服务重启中..."                    
        ;;                    
    *)                    
        echo "$0 脚本的使用方式: $0 [ start | stop | restart ]"        
        ;;                    
esac

三、for循环语句

#!/bin/bash
# for语句的使用示例
for i in $(ls /root)
do
  echo "${i}"
done

四、while循环语句

#!/bin/bash
# while的示例
a=1
while [ "${a}" -lt 5 ] 
do
   echo "${a}"
   a=$((a+1))
done

五、until循环语句

#!/bin/bash
# until的示例
a=1
until [ "${a}" -eq 5 ] 
do
   echo "${a}"
   a=$((a+1))
done

六、复杂流程控制语句——函数

  函数就是将某些命令组合起来实现某一特殊功能的方式,是脚本编写中非常重要的一部分。

简单函数定义:

#!/bin/bash
# 函数使用场景一:执行频繁的命令
dayin(){
  echo "My name is mzf"
}
# 调用:
dayin

函数传参:

#!/bin/bash
# 函数的使用场景二
dayin(){
  echo "My name is $1"
}

# 调用并传入参数
dayin mzf

调用脚本时传参:

#!/bin/bash
# 函数传参演示

# 定义传参数函数
dayin(){
  echo "My name is $1, gender $2, age $3"
}

# 函数接收调用脚本时传进的传参
dayin $1 $2 $3
原文地址:https://www.cnblogs.com/mzfly/p/9973046.html