shell脚本之批量添加用户

    没错,这是一个简单的脚本,不写不知道,写了才发现自己多垃圾。

    我是一名普通的公司网络管理,接触linux不长,一直理想都是和马哥学习linux,可惜因为拖家带口的原因,没办法交学费和马哥学习,心里小小遗憾吧。每天看着马哥的文章以及百度搜索的视频文章学习,感觉自己学习的很杂很乱和累。看着我同学现在都快从马哥完业了,说着我听不懂的语句,特霸气。如果有机会,真希望和他一样,听马哥linux视频系统学习。

    微微一叹,唉。

    下面的脚本主要用于批量添加用户的脚本,本来很简单的脚本,但是添加了一些判断,验证自己学习。

    1.判断用户输入是否有误

    2.判断用户是否存在,存在就跳过不再处理

代码如下:

#/bin/bash
#批量添加用户脚本

#判断用户是否存在函数
function panduan()
	{
		for nametmp in $(cat /tmp/user.txt)
			do
				if [ $nametmp = $1 ]
					then
						return 6
						break
				fi
			done
	}
cat /etc/passwd|awk -F : '{print $1}'&>>/tmp/user.txt
#读取用户输入信息
read -p "请输入前缀:" name
read -p "请输入个数:" num
read -p "请输入初始密码:" password

#判断输入是否为空
if [ -z "$name" -o -z "$num" -o -z "$password" ]
	then
		echo "输入不能为空"
	else
#判断用户个数是否格式为数字,不为数字就退出	
	echo $num|grep ^[0-9]*$&>/dev/null
	if [ $? -eq 0 ]
		then
			for i in `seq 1 $num`
				do

#判断用户是否存在
					panduan $name$i&>/dev/null
					if [ $? -ne 6 ]
						then
						useradd $name$i>>/dev/null
						echo "$password"|passwd --stdin $name$i>>/dev/null
						echo "用户名:$name$i   密码:$password  创建成功"
					else 
						echo "用户$name$i存在,不做处理"
						
					fi
			done
		else
			echo "用户个数输入有误,请输入数字"
	fi
				
fi

请求大家指教一下,有没有更简单的方法。

原创文章,作者:lyy910203,如若转载,请注明出处:http://www.178linux.com/22756

(0)
lyy910203lyy910203
上一篇 2016-07-07 10:52
下一篇 2016-07-07 10:53

相关推荐

  • 文本编辑器sed和vim的用法集锦

    8月8号,主要学习内容为: 一、文本处理工具sed 二、vim编辑器 一、文本处理工具sed 1)简介    sed是一种流编辑器,它一次处理一行内容。处理时,把 当前处理的行存储在临时缓冲区中,称为“模式空间”( pattern space),接着用sed命令处理缓冲区中的内容 ,处理完成后,把缓冲区的内容送往屏幕。接着处理下…

    Linux干货 2016-08-12
  • Linux 基础(5)

    /etc/passwd           /etc/shadow         /etc/gpasswd (chage)            /etc/gshadow    usera…

    2017-07-22
  • 马哥教育网络班20期+第二周课程练习

    Table of Contents 1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 目录管理 文件管理 2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。 脚本返回值 命令或路径补全和展开 3、请使用命令行展开功能来完成以下练习: (1)、创建/tmp目录下的:a_c, a_d, b_c, b (2…

    Linux干货 2016-06-23
  • shell脚本编程之补充知识点

    一、处理用户输入   shell中使用read命令来实现与用户的交互输入。   格式:read [options] 变量    常用选项:      -p “提示信息”:显示提示信息;      -t #:等待用户输入的秒数;     &n…

    Linux干货 2016-02-14
  • shell脚本作业

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名, IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 脚本代码 #!/bin/bash #author:wzc         echo Hostname:…

    Linux干货 2016-08-15
  • zabbix之报警功能的实现

    一、注册微信公众号 首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,所以还是可以的 申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号。 就可以看到用户数了,接下来的就要使用的用户的微信ID号了。点击用户查看用户的微信ID号。在浏览器查看用户的微信ID号。就是那个红色的ID了。 h…

    2014-11-12