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变量名in值1值2值3....

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/userlist’saved[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

shell编写一个批量添加用户脚本的更多相关文章

  1. 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

    一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...

  2. shell应用之批量添加用户实例

    这里要实现功能介绍 读取一个用户列表文件 给列表中的用户添加随机密码需要包含大小写字符和数字 保存对应的用户和密码文件 这些用户属于同个用户组 1.列表文件 [root@mail ~]# cat li ...

  3. (1)使用bash脚本实现批量添加用户

    脚本实现内容: 可以指定用户名前缀,指定添加数量的批量添加用户脚本,密码为10为随机小写字母,并把用户名和密码写入文件中. 脚本代码: #!/bin/bashread -p "用户名前缀:& ...

  4. (转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加

    通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加 原文:http://www.21yunwei.com/archives/4773 有一个朋友问我如何批量创建用户和设置密码 , ...

  5. Shell 脚本批量添加用户和用户密码

    #!/bin/bash#批量添加用户 设置密码for i in `seq 1 10`do if ! id user$i &> /dev/null then useradd user$i ...

  6. centos7 lvm合并分区脚本初探-linux性能测试 -centos7修改网卡名字-jdk环境安装脚本-关键字查询文件-批量添加用户

    1.#!/bin/bash lvmdiskscan | grep centos > /root/a.txt a=`sed -n '1p' /root/a.txt` b=`sed -n '2p' ...

  7. shell编写一个判断脚本

                                                              shell编写一个判断脚本 4.1问题 本例要求在虚拟机server0上创建/roo ...

  8. 利用shell实现批量添加用户

    批量添加用户并设置随机密码,把添加的用户的名字和密码保存到文件中. [root@lamp scripts]# cat user.sh #!/bin/sh ` do pass=$(-) //取随机数的方 ...

  9. 用户管理 之 在Linux系统中,批量添加用户的操作流程

    一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用 ...

随机推荐

  1. (转)GNU风格ARM汇编语法指南(非常详细)5

    原文地址:http://zqwt.012.blog.163.com/blog/static/120446842010111482417545/ 6.GNU汇编程序中的常数 <1>    十 ...

  2. 【Weiss】【第03章】练习3.3:通过交换指针交换单/双链表元素

    [练习3.3] 通过之调整指针(而不是数据)来交换两个相邻的元素,使用 a.单链表 b.双链表 Answer: 先放测试代码,折叠标题可以看到分别是哪种链表的测试. 实测可满足题意,但单链表和双链表的 ...

  3. java-Properties集合。

    查看手册: 关键字: store() 储存. setProperty("",""); 添加. FileWriter("D:\\ja.propertie ...

  4. 12.unittest的学习

    unittest学习后的总结,记录各个主要内容

  5. weblogic漏洞练习

    About WebLogic WebLogic是美商Oracle的主要产品之一,系购并得来.是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第 ...

  6. 《大空头》与A股内幕消息

    目录 <大空头>简介 投行人士透露内幕消息不划算 <大空头>里合规性的一些解释 相信A股内幕消息的一些惨痛教训. 风险提示. <大空头>简介 <大空头> ...

  7. Hive常用命令及作用

    1-创建表 -- 内部表 create table aa(col1 string,col2 int) partitioned by(statdate int) ROW FORMAT DELIMITED ...

  8. openfire广播broadcast插件怎么发送消息给所有用户(包括在线和离线)

    openfire广播broadcast插件怎么发送消息给所有用户(包括在线和离线): 打开openfire管理界面,找到服务器系统属性,添加一个属性(属性名:plugin.broadcast.all2 ...

  9. POS-商户手续费-从生活剖析,通俗易懂

    前言 我们大家日常都在使用pos机,尤其是买衣服,吃火锅,都习惯刷卡.pos机带来的消费便利,也正是市场 对经济的一种促进手段. 今天主要分享下商户手续费这个概念,引出这个概念前,我们先大概说点别的东 ...

  10. Hadoop 集群的基准测试

    集群搭建完毕之后,需要对集群进行基准测试 第一方面:基本测试 服务启动,是否可用,简单的应用 *hdfs 读写操作 bin/hdfs dfs -mkdir - p /user/chris/tmp/co ...