博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
批量创建用户名
阅读量:5108 次
发布时间:2019-06-13

本文共 1548 字,大约阅读时间需要 5 分钟。

使用for循环语句从列表文件中读取多个用户名,然后为其逐一创建用户账户并设置密码。首先创建用户名称的列表文件users.txt,每个用户名称单独一行。读者可以自行决定具体的用户名称和个数:

[root@linuxprobe ~]# vim users.txtandybarrycarldukeericgeorge

接下来编写Shell脚本Example.sh。在脚本中使用read命令读取用户输入的密码值,然后赋值给PASSWD变量,并通过-p参数向用户显示一段提示信息,告诉用户正在输入的内容即将作为账户密码。在执行该脚本后,会自动使用从列表文件users.txt中获取到所有的用户名称,然后逐一使用“id 用户名”命令查看用户的信息,并使用$?判断这条命令是否执行成功,也就是判断该用户是否已经存在。

需要多说一句,/dev/null是一个被称作Linux黑洞的文件,把输出信息重定向到这个文件等同于删除数据(类似于没有回收功能的垃圾箱),可以让用户的屏幕窗口保持简洁。

[root@linuxprobe ~]# vim Example.sh#!/bin/bashread -p "Enter The Users Password : " PASSWDfor UNAME in `cat users.txt`doid $UNAME &> /dev/nullif [ $? -eq 0 ]thenecho "Already exists"elseuseradd $UNAME &> /dev/nullecho "$PASSWD" | passwd --stdin $UNAME &> /dev/nullif [ $? -eq 0 ]thenecho "$UNAME , Create success"elseecho "$UNAME , Create failure"fifidone

执行批量创建用户的Shell脚本Example.sh,在输入为账户设定的密码后将由脚本自动检查并创建这些账户。由于已经将多余的信息通过输出重定向符转移到了/dev/null黑洞文件中,因此在正常情况下屏幕窗口除了“用户账户创建成功”(Create success)的提示后不会有其他内容。

在Linux系统中,/etc/passwd是用来保存用户账户信息的文件。如果想确认这个脚本是否成功创建了用户账户,可以打开这个文件,看其中是否有这些新创建的用户信息。

[root@linuxprobe ~]# bash Example.shEnter The Users Password : linuxprobeandy , Create successbarry , Create successcarl , Create successduke , Create successeric , Create successgeorge , Create success[root@linuxprobe ~]# tail -6 /etc/passwdandy:x:1001:1001::/home/andy:/bin/bashbarry:x:1002:1002::/home/barry:/bin/bashcarl:x:1003:1003::/home/carl:/bin/bashduke:x:1004:1004::/home/duke:/bin/basheric:x:1005:1005::/home/eric:/bin/bashgeorge:x:1006:1006::/home/george:/bin/bash

转载于:https://www.cnblogs.com/w1997/p/9939693.html

你可能感兴趣的文章
sql2005实例无法启用的解决方案(续)
查看>>
ubuntu server 乱码
查看>>
一个日期下拉菜单的实现
查看>>
java中的a++与++a的区别
查看>>
EL表达式
查看>>
面向对象编程
查看>>
北京信息科技大学第十一届程序设计竞赛(重现赛)I
查看>>
【3-5】函数及递归
查看>>
转 Python的WinReg项通过子键循环
查看>>
二叉树思想
查看>>
SpringBoot入门(四)静态资源
查看>>
本机ping不通虚拟机,但虚拟机可以ping通本机时怎么解决
查看>>
2013-03-26 星期二
查看>>
Java基础篇——编码注释规范
查看>>
VMware下利用ubuntu13.04建立嵌入式开发环境之二
查看>>
43-正则表达式(1)
查看>>
Long类型 Integer类型 比较相等
查看>>
(5)top k大的数目
查看>>
java基础 01
查看>>
第一次作业
查看>>