if命令简介:


      此命令用于条件判断,控制结构.

1.命令格式:


   单分支if语句

    if 判断条件;then

       statement1   声明1

       statement2   声明1

        ......

    fi

    双分支if语句

    if 判断条件;then

       statement1

       statement2

        ......

     else

        statement3

        statement4

        ......

     fi

   多分支的if语句:

    if 判断条件1;then

      statement1

      ......

    elif 判断条件2;then

      statement2

      ......

    elif 判断条件3;then

      statement3

      ......

    else

       statement4

        ......

    fi  


2.命令功能:

  实现多条件的选择,进行命令执行,从而得出最终结果


3.命令参数:

      /

4.命令实例:


      1、如果用户已存在,显示已存在,提示存在,如果不存在,则添加此用户,并

       设置密码为此用户名一样。

      #!/bin/bash

      # program:

      # 练习使用if判断语句添加用户

      # history

      # time: 2016-10-19-10:46

      PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

      export PATH

       NAME=user1

      if  id $NAME &> /dev/null ; then

           echo "$NAME is exist."

        else

           useradd $NAME 

           echo "$NAME" | passwd --stdin $NAME &> /dev/null

           echo "$NAME is add sucessful"

     fi

     2、如果用户已存在,显示已存在,则删除此用户并删除此用户的家目录,并提示删除成功

      如果不存在,提示用户不存在。

      #!/bin/bash

      # program:

      # 练习使用if判断语句删除用户

      # history

      # time: 2016-10-19-11:00

      PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

      export PATH

       NAME=user1

      if ! id $NAME &> /dev/null ; then

           echo "The $NAME is not exist."

        else

           userdel -r $NAME &> /dev/null

           echo "The $NAME is del successful."

       fi

     3、给定一个用户,如果其UID为0,就显示此为管理员;否则,就显示其为普通用户;

       #!/bin/bash

       # program:

       # 练习使用if判断语句,判断用户是否为管理员

       # history

       # time: 2016-10-19-11:34

       PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

       export PATH

        NAME=user1

        NAMEID='id -u $NAME'

        if [ $NAMEID -eq 0 ]; then

           echo "The $NAME is Admin."

        else

           echo "The $NAME is common."

         fi