zoukankan      html  css  js  c++  java
  • shell编写一个批量添加用户脚本

                                                          shell编写一个批量添加用户脚本

    5.1问题

    本例要求在虚拟机server0上创建/root/batchusers脚本,任务目标如下:

    此脚本要求提供用户名列表文件作为参数

    如果没有提供参数,此脚本应该给出提示Usage:/root/batchusers,退出并返回相应值

    如果提供一个不存在的文件,此脚本应该给出提示Input file not found,退出并返回相应值

    新用户的登录Shell/bin/false,无需设置密码

    列表测试文件:http://classroom/pub/materials/userlist

    5.2方案

    单分支if选择结构:

    if条件测试操作

    then

    命令序列....

    fi

    脚本的退出状态:取决于退出前最后一条命令的$?值,或者“exit整数值”指定。

    列表式for循环结构:

    for变量名in123....

    do

    命令序列($变量名)

    done

    使用命令替换来获取命令结果:$(命令行)

    5.3步骤

    实现此案例需要按照如下步骤进行。

    步骤一:编写batchusers批量添加用户脚本

    1)编写脚本代码

    [root@server0~]#vim /root/batchusers

    #!/bin/bash

    if [ $# -eq 0];then

    echo "Usage:/root/batchusers<userfile>" > &2

    exit 1

    fi

    if [ !-f $1 ];then

    echo "Input file not found" > &2

    exit 2

    fi

    for name in $(cat$1)

    do

    useradd -s /bin/false $name

    done

    2)添加x执行权限

    [root@server0~]#chmod+x/root/batchusers

    步骤二:测试batchusers批量添加用户脚本

    1)下载用户列表测试文件:

    [root@server0~]#wget http://classroom/pub/materials/userlist-O/root/userlist

    ....

    2016-11-27 17:23:32(2.83 MB/s)-/root/userlistsaved[27/27]

    [root@server0~]#cat/root/userlist//检查下载文件

    duanwu

    zhongqiu

    zhsan

    lisi

    2)实现批量添加用户:

    [root@server0~]#/root/batchusers/root/userlist

    [root@server0~]#id duanwu

    uid=1006(duanwu)gid=1006(duanwu)groups=1006(duanwu)

    3)测试其他异常处理:

    [root@server0~]#/root/batchusers//未提供列表文件

    Usage:/root/batchusers<userfile>

    [root@server0~]#echo $?

    1

    [root@server0~]#/root/batchusers/root/userlist.txt//提供的列表文件找不到

    Input file not found

    [root@server0~]#echo$?

    2

  • 相关阅读:
    在mvc4中上传、导入和导出excel表方法总结
    ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
    .net下使用NPOI读取Excel表数据
    详解免费高效实用的.NET操作Excel组件NPOI(转)
    Vue 定时执行函数
    decorators.xml的用法
    行内元素和块级元素
    C/C++中printf和C++中cout的输出格式
    IIS 搭建过程
    IIS访问共享文件详解
  • 原文地址:https://www.cnblogs.com/qingbai/p/11936775.html
Copyright © 2011-2022 走看看