Shell判断:流程控制—if(一)

一、单分支结构

        1、语法:

                if [ command/test ]; then

                        符合该条件执行的语句

                fi

        2、示例:

                需求:编写脚本,由用户输入用户名,如果用户不存在,则创建该用户。

[root@localhost ~]# vim useradd.sh    #脚本编写
#!/bin/bash
read -p "请输入待创建的用户名:" name
id $name $> /dev/null    
if [ $? -ne 0    ] ; then
        useradd $name
        echo "$name 创建成功"
fi

[root@localhost ~]# chmod +x useradd.sh     #脚本授权

[root@localhost ~]# ./useradd.sh     #执行脚本
请输入待创建的用户名:op
op 创建成功

 Shell判断:流程控制—if(一)_第1张图片

  

 二、双分支结构

        1、语法:

  •         if 条件测试

    • then

    • 命令序列

    • else

    • 命令序列

    • fi

  • 2、示例:

    • 需求:编写脚本,由用户输入用户名 如果用户不存在,则创建该用户,并设置密码为123456; 否则,提示用户已经存在。

    • [root@localhost ~]# vim useradd.sh     #编写脚本
      #!/bin/bash
      read -p "请输入待创建的用户名:" name
      
      if id $name &> /dev/null ; then
      echo "$name 已经存在,不需要创建。"
      else
      useradd $name
      echo "123456" | passwd --stdin $name &> /dev/null
      echo "$name 创建完成,用户密码是123456"
      fi
      [root@localhost ~]# ./useradd.sh     #执行脚本
      请输入待创建的用户名:op
      op 已经存在,不需要创建。
      [root@localhost ~]# vim useradd.sh 
      [root@localhost ~]# ./useradd.sh 
      请输入待创建的用户名:ye   
      ye 创建完成,用户密码是123456
      
      
      

      Shell判断:流程控制—if(一)_第2张图片

                Shell判断:流程控制—if(一)_第3张图片 

                 

[root@localhost ~]# vim useradd.sh     #脚本编写
#!/bin/bash
read -p "请输入待创建的用户名:" name

id $name &> /dev/null
if [ $? -ne 0    ] ;
then
        useradd $name
        echo "123456" | passwd --stdin $name &> /dev/null
        echo "$name 创建成功,用户密码是123456"
else
        echo "$name 用户已经存在,不需要创建"
fi

[root@localhost ~]# ./useradd.sh     #执行脚本
请输入待创建的用户名:opp
opp 创建成功,用户密码是123456

Shell判断:流程控制—if(一)_第4张图片

Shell判断:流程控制—if(一)_第5张图片

       

你可能感兴趣的:(Shell,linux,bash)