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

相关推荐

  • btrfs文件系统管理与应用

    btrfs(b-tree、butter fs、better fs),oracle公司研发的替代ext系列的cow机制的文件系统;GPL 核心特性: 多物理卷支持;btrfs可由多个底层物理卷组成;支持RAID,以联机“添加”、“移除”、“修改”; 写时复制更新机制(CoW):复制、更新及替换指针,而非“就地”更新; 数据及元数据校验码:checksum 子卷…

    Linux干货 2017-12-18
  • 常用的文件查看命令

    常用的文件查看命令 1.     cat 常用参数 -n     显示行号 -E     显示行尾结束符 $ -b     显示非空行编号 -s    &nbs…

    2017-04-03
  • CentOS 6启动过程总结与GRUB问题修复

    一、CentOS 6 的启动流程 第一步:加电自检(POST) 主要检查硬件设备是否存在并能正常运行,如:CPU、内存、硬盘、风扇、输入输出设备等。自检功能主要是通过BIOS来实现的,BIOS程序是装载在一个硬件芯片CMOS上的,加电过程就是给CMOS通电,然后启动BIOS程序,BIOS程序会根据CMOS上面的一些配置信息区读取其他的硬件设备信息并检测其是否…

    Linux干货 2016-09-16
  • 逻辑卷

    §·逻辑卷管理器LVM介绍 ※·LVM逻辑卷的简单描述 lvm(logical volume manager 逻辑卷管理器)的可以弹性的调整文件系统的容量,支持任何块设备,需要使用dm模块:device mapper设备映射,将一个或多个底层设备组织成一个逻辑设备的模块。 lvm的重点在于弹性的调整文件系统的容量,而并非在于数据的存储效率及安全上面…

    Linux干货 2016-08-30
  • 第二周(8.15-8.21)博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 #touch 如果a.txt不存在,生成一个新的空文档a.txt。如果a.txt存在,那么只更改该文档的时间信息 #ls  是list的简写,列出当前目录下的所有文件名 #cp a.txt b.txt  cp是copy的简写,用来复制文件。在工作目录下,将a.t…

    Linux干货 2016-08-24
  • lamp架构实现论坛架构及压力测试

    练习:分别使用CentOS 7和CentOS 6实现以下任务 (1) 配置四个基于名称的虚拟主机;   (a) discuzX   (b) wordpress   (c) drupal   (d) phpMyAdmin,此虚拟主机仅支持https协议; (2) 对phpMyAdmin首页做压力测试   分别给…

    Linux干货 2016-10-17