bash脚本编程之二、条件判断

 

条件判断:

    如果用户不存在

        添加用户,给密码并显示添加成功;

    否则

        显示用户已存在,没有添加



bash中如何实现条件判断?

    整数测试

    字符测试 

    文件测试


条件测试的表达式:

    [expression]

    `expression`

    test expression

整数比较:

    -eq:测试两个整数是否相等;比如 $A -eq $B

    -ne:测试两个整数是否不等;不等,为真;相等,为假;

    -qt:测试一个数是否大于另一个数;大于为真;否则,为假;

    -lt:测试一个数是否小于另一个数;小于为真;否则,为假;

    -ge:大于或等于

    -le:小于或等于


命令间的逻辑关系:

    逻辑与:&&

        第一个条件为假时,第二个条件不会再判断,最终结果已经有;

        第二个条件为真时,第二个条件必须得判断;

    逻辑或:||

如果用户user2不存在,就添加用户user2

!id user2 && useradd user2 

id user2 || useradd user2



变量名称:${VARNAME},括号有时可省略

    1、只能包含子母、数字和下划线,并且不能数字开头;

    2、不应该跟系统中已有的系统变量重名;

    3、最好做到见名知意;


如果用户user1存在,就显示用户已存在;否则,就添加;

id user1 && echo "user1 exists." || useradd user1


如果用户user1不存在,就添加;否则,显示其已经存在;

! id user1 && useradd user1 || echo “user1 exists.”


如果用户user1不存在,添加并且给密码;否则,显示其已经存在;

! id user1 && useradd user1 && echo "user1" | passwd --stdin user1 || echo "user1 exists."  


条件判断,控制结构


单分支if语句


if 判断条件; then

  statement1

  statement2

  ...  

fi

  


双分支if语句:


if 判断条件; then

  statement1

  statement2

else

  statement3    

  statement4

  fi

  

shell中如何进行算数运算:

1、let 运算表达式

  let c=$A+$B

2、$[算术表达式] 

  c=$[$A+$B]  

3、$((算数表达式))

  c=$(($A+$B)) 

4、expr 算术表达式,表达式中个操作数及运算符之间要有空格,而且要使用命令引用

  c=`expr $A + $B`