bash中如何实现条件判断?

条件测试类型:

    整数测试

    字符测试

    文件测试

  

条件测试的表达式:

    [ expression ]

    [[ expression ]]

   test expression 



整数比较:

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

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

    -gt:测试一个数是否大于另一个数;

    -lt:测试一个数是否小于另一个数;

    -ge:大于或等于

    -le:小于或等于


命令间逻辑关系:

   逻辑与:&&

       第一个条件为假时,第二条件不再执行

       第一个条件为真时,第二条件必须执行

   逻辑或:||


变量名称:1、只能包含字母、数字和下划线,并且不能数字开头

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

      3、最好做到见名知义

          

       

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

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


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

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


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

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


练习:

给定一个用户:

1、如果其UID为0,就显示此为管理员

2、否则,就显示其为普通用户



条件判断,控制结构

if 判读条件;then

fi



提示:“引用”一个命令的执行结果,要使用命令引用;比如:Resaults=`wc -l /etc/passwd`

如果想把一个命令的执行状态结果,要直接执行此命令,一定不能引用;比如:if id user1 一句中的id命令就一定不能加引号;


如果想把一个命令的执行结果赋值给某变量,要使用命令引用,比如USERID=`id -u user1`;


shell中如何进行算术运算

A=3

B=6

1、let 算术运算表达式

   let C=$A+$B



exit:退出脚本