Linux批量建立用户(shell编程)
题干如下:建立一个文本文件,名为:user.txt,文件格式如下所示,每行的第一个字符串对应用户名,第二个字符串对应为初始密码,一共10行数据。aaaabc123456bbbcdef90800ccc123abclin……编程实现如下功能:建立10个账号信息,其中用户名和初始密码从文件user.txt中读取。为简化操作,假设系统中不存在重名账号。先看一下user.txt的内容我在网上巴拉了很久,找到
·
题干如下:
建立一个文本文件,名为:user.txt,文件格式如下所示,每行的第一个字符串对应用户名,第二个字符串对应为初始密码,一共10行数据。
aaa abc123456
bbb cdef90800
ccc 123abclin
……
编程实现如下功能:建立10个账号信息,其中用户名和初始密码从文件user.txt中读取。为简化操作,假设系统中不存在重名账号。
先看一下user.txt的内容
我在网上巴拉了很久,没找到合适的方法去给两个变量一起赋值,最后灵光一闪可以使用grep命令
#!/bin/bash
touch temp.txt
awk '{print $1}' user.txt | while read names
do
useradd $names
grep "$names" user.txt | cat > temp.txt
awk '{print $2}' temp.txt|while read pws
do
echo $pws | passwd --stdin $names
done
echo "`useradd` $names is OK"
done
下面是我写代码过程中写的一个del脚本,删除用户的,在编写创建脚本的时候顺道写的,del脚本也就一起放上了(用到了数组)
#!/bin/bash
count1=0
count2=0
unames[0]=a
upwds[0]=a
awk '{print $1}' user.txt | while read names
do
unames[$count1]=$names
echo "${unames[$count1]}"
userdel -rf ${unames[$count1]}
count1=$[ $count1 + 1 ]
userdel -rf "test$count1"
done
更多推荐
已为社区贡献1条内容
所有评论(0)