05_03_bash脚本编程之二 条件判断-和05_04_bash脚本编程之三 条件判断及算术运算

bash中 如何实现判断

条件判断测试类型

整数测试

字符测试

文件测试

条件测试表达式

[ expression]

[[ expressionn]]

test expression

整数比较、

-eq: 测试两个整数是否相等

-ne:测试两个整数是否不等

-gt: >

-lt: <

-ge:>=

-le:<=

[liaoch@liaoch ~]$ A=3

[liaoch@liaoch ~]$ B=4

[liaoch@liaoch ~]$ [ $A -eq $B ]

[liaoch@liaoch ~]$ echo $?

1

命令的逻辑关系

逻辑与:&& 第一个为假时。第二个条件不判断

逻辑或:|| 第一个为真时,第二个条件条件不执行

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

! id user7 && useradd user7

id user6 || useradd user6

变量名称:

1.只能包含字母,数字下划线,并且不能以数字开头

不能跟已有的环境变量同名

2最好做到见名值意

#!/bin/bash

LINES=`wc -l /etc/passwd`

echo $LINES

FINLINES=`echo $LINES | cut -d' ' -f1

echo $FINLINES

[ $FINLINES -gt 100 ] && echo "/etc/passwd is big fiel" || echo "is small file"

~       

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

#!/bin/bash

LINES=`wc -l /etc/passwd`

echo $LINES

FINLINES=`echo $LINES | cut -d' ' -f1

echo $FINLINES

[ $FINLINES -gt 100 ] && echo "/etc/passwd is big fiel" || echo "is small file"

~                               

如果用户不存在,就添加用户,否则不添加

如果用户不存在,就添加并添加密码,否则显示已经存在

user6 is exists.

[root@liaoch ~]# ! id user7 && useradd user7 && ehco "user7" |passwd --stdin user7 || echo "user7 is exists."

id: user7:无此用户

-bash: ehco: command not found

更改用户 user7 的密码 。

passwd: 鉴定令牌操作错误

#!/bin/bash

! id user6 &> /dev/null && useradd user6 && echo "user6:" | passwd --stdin user6 || echo "user6 is exists"

! id user11 &> /dev/null && useradd user11 && echo "user11:" | passwd --stdin user11 || echo "user11 is exists"

! id use87 &> /dev/null && useradd user8 && echo "user8:" | passwd --stdin user8 || echo "user8 is exists"

USERS=`wc -l /etc/passwd | cut -d: -f1`

ehco "$USERS user"

!/bin/bash

NAME=user7

USERID=` id -u $NAME`

[ $USERID -eq 0 ] && echo "admin" || echo "commom"

条件判断控制结构

单分支if语句

if 判断条件;then

statement1

statement2

....

fi

双分支if语句

if 判断条件:; then

statement1

statement2

....

else

statement3

statement4

...

fi

#!/bin/bash

#

NAME=USER1

if id user1 &> /dev/null ;then

        echo "$NAME exists."

else

        echo "$NAME is not exists."

fi

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

#!/bin/bash

#

NAME=user1

USERID=' id -u $NAME'

if [ $USERID -eq 0 ] ;then

        echo "$NAME IS ADMIN"

else

        echo "$NAME IS COMMOM"

fi

let 算术运算表达式

 let C=$A+$B

$[算术运算表达式]

       C=$[$A+$B]

$((算术运算表达式))

       C=$(($A+$B))

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

       C=`expr $A + $B`

你可能感兴趣的:(05_03_bash脚本编程之二 条件判断-和05_04_bash脚本编程之三 条件判断及算术运算)