Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19449
  • 博文数量: 41
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 434
  • 用 户 组: 普通用户
  • 注册时间: 2017-03-23 09:31
  • 认证徽章:
个人简介

天行健,君子以自强不息;地势坤,君子以厚德载物

文章分类
文章存档

2018年(11)

2017年(30)

我的朋友

分类: LINUX

2017-04-09 22:55:08

bash脚本编程之二条件判断
    1、bash中实现条件判断:
        整数测试
        字符测试
        文件测试
    2、条件测试的表达式:
        [ expression ]
        [[ expression ]]
        test expression
    3、整数比较:
        -eq:测试两个整数是否相等;
        -ne:测试两个整数是否不等;
        -gt:测试一个数是否大于另一个数;
        -lt:测试一个数是否小于一个数;
        -ge:大于或等于;
        -le:小于或等于;
    4、命令间的逻辑关系:
        逻辑与:&&
            第一个条件为假时,第二个条件不用再判断,最终结果已经有;
            第一个条件为真时,第二个条件必须判断;
            例:[root@Ourlab ~]# id user1 &> /dev/null && echo "Hello.student."
                Hello.student.
        逻辑或:||
            [root@Ourlab ~]# id student2 &> /dev/null || echo "No"
            No
    条件判断,控制结构:
        单分支if语句
            if 判断条件;then
                statement1
                statement2
                ...
            fi    
        双分支if语句:
            if 判断条件;then
                statement1
                statement2
                ...
            else
                statement3
                statement4
                ...
            fi
        
课后练习:
练习一:写一个脚本,完成以下任务:
1、添加5个用户,user1,....,user5;
2、每个用户的密码同用户名,而要求,添加密码完成后不显示passwd命令的执行结果信息;
3、每个用户添加完成后,都要显示用户某某已经成功添加;
#!/bin/bash#!/bin/bash

! id user1 &> /dev/null && useradd user1 && echo "user1" | passwd --stdin user1 &>/dev/null || echo "user1 exists."
! id user2 &> /dev/null && useradd user2 && echo "user2" | passwd --stdin user2 &>/dev/null || echo "user2 exists."
! id user3 &> /dev/null && useradd user3 && echo "user3" | passwd --stdin user3 &>/dev/null || echo "user3 exists."

USERS=`wc -l /etc/passwd | cut -d: -f1`
echo "$USERS users"

练习二:给定一个用户:
1、如果其UID为0,就显示此为管理员,否则,就显示其为普通用户;
#!/bin/bash

USERNAME=user1
USERID=`id -u $USERNAME`
[ $USERID -eq 0 ] && echo "This user1 administrator" || echo "This user1 common users"

#!/bin/bash
#
NAME=user1
USERID=`id -u $NAME`

if [ $USERID -eq 0 ]; then
   echo "$NAME is admin."
else
   echo "$NAME is common."
fi
阅读(110) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册