linux脚本之条件判断

用脚本完成以下任务

  1. 添加5个用户,user1user2.。。。。user5

  2. 每个用户的密码同用户名,而且要求,添加密码后不显示passwd命令的执行结果

  3. 每个用户添加完成后,都要显示用户某某已成功添加

useradd user1

echo  “user1 | passwd �Cstdinuser1 &>/dev/null

echo  “add user1 successfully”

 

 

条件判断:

        如果用户不存在

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

         否则

                   显示用户已存在,不添加

 

bash中如何实现条件判断?

         条件判断类型:

                   整数判断

                            -eq:判断两个整数是否相等;为真,等为假比如 $A �Ceq $B 返回值为0表示成功

                                                         linux脚本之条件判断_第1张图片

                   -ne:判断两个整数是否不等;不等为真 相等为假

                   -gt:判断一个数是否大于另一个书;大于,为真;否则为假

                   -lt:判断一个数是否小于另一个书;小于,为真;否则为假

                   -ge:大于或等于

                   -le:小于或等于

                   字符判断

                   文件判断

 

条件判断的表达式:

         [expression ]

         [[xpression ] ]

         testexpression

 

命令间的逻辑关系:

         逻辑与:&&(第一个条件为假时,第二个条件不用再判断)

逻辑或:||(第一个条件为真时,第二个条件必须判断)

 

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

id user1  && useradduser1(!表示取反,真的变为假的)

id user1 || useradd  user1

 

变量名称:只能包含字母,数字和下划线,并且不能以数字开头,不应该和系统中已有的环境变量重名;

 

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

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

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

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

 

 

使用脚本完成以下任务:

  1. 添加3个用户user1user2user3;要求先判断用户是否存在,不存在则添加

  2. 显示但前系统上共有多少个用户

Vim adduser.sh

#!/bin/bash

! id user1&> /dev/null && useradd user1 && echo “user1” | passwd �C-stdinuser1 &> /dev/null || echo “user1 exists”

USERS=`wc �Cl/etc/passwd | cut �Cd: -f1`

echo “$USERS users.”

 

使用脚本完成以下任务:

给定一个用户:

  1. 1.       如果其UID0,就显示此用户为管理员

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

vim xxx.sh

#!/bin/bash

NAME=user1

USERID=`id �Cu $NAME`

[ $USERID �Ceq 0 ]&& echo “admin” || echo “common user.”

 

条件判断,控制结构:

 

单分支if语句

if 判断条件 then

         statement1

         statement2

fi

 

双分支if语句:

if 判断条件; then

         statement1

         statement2

else

         statement3

         statement4

fi

1

#!/bin/bash

NAME=user1

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

         echo “$NAME exists.”

else

         echo “$NAME not exists.”

Fi

 

2

#!/bin/bash

NAME=user1

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

         echo “$NAME exists.”

else

         useradd $NAME

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

         echo “add  $NAME finished.”

fi

 

3

给定一个用户:

  1. 1.       如果其UID0,就显示此用户为管理员

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

#!/bin/bash

NAME=user1

USERID=`id�Cu $NAME`

if [$USERID �Ceq 0 ]; then

         echo “admin”

else

         echo “common user”

fi

 

 


你可能感兴趣的:(linux,密码,如何,用户名,而且)