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

相关推荐

  • 马哥教育网络20期+第二周练习博客

    1、 Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 ls 使用方式:ls [OPTION]… [DIR]… 常用选项: -a:显示所有档案及目录;  -A:显示除影藏文件“.”和“..”以外的所有文件列表; -C:多列显示输出结果。这是默认选项;  -l:与“-C”选项功能相反,所有输出…

    Linux干货 2016-06-23
  • Nginx反向代理、负载均衡的实现

    概述:     上篇介绍了Nginx作为web服务器的一些常用配置的说明,但是在实际生产环境中,Nginx更多是作为前端的负载均衡器,反代前端用户请求到后端真实的web服务器上,完成LNAMP的组合的方式存在。本篇就介绍一些Nginx作为http的反向代理和前端负载均衡调度器的一些常用配置,具体包括:  &n…

    Linux干货 2016-11-01
  • lamp+nfs搭建wordpress

    一、前言 lamp是大多上公司常用的架构,本文将针对分离式的lamp+nfs来搭建一个简单的wordpress网站。 二、架构图 三、基本实现过程 3.1:dns搭建 由于这这是一个实验,故使用yum搭建dns服务器 yum install -y bind 配置如下 dns主配置文件 dns辅助配置文件 zone文件 对所有服务…

    Linux干货 2015-10-16
  • 循环语句for、while、until

    作用:    循环语句的作用是它可以让一段代码重复的执行,直到所需条件不满足为止。 在linux中变量的赋值方式有三种:       第一:直接等于号赋值       第二:通过read交互赋值       第三:for循环的赋值 bash脚本中的循…

    Linux干货 2016-08-22
  • Hadoop简介

    Hadoop的概要介绍 Hadoop,是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。 简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。该平台使用的是面向对象编程语言Java实现的,具有良好的可移植性。 Hadoop的发展历史 &nbsp…

    Linux干货 2015-04-13
  • JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

    摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。     现实企业级Java开发中,有时候我们会碰到下面这些问题: Out…

    2017-08-17