shell面试题
2009-03-171、除特别说明外,本博客内容皆为原创,可以自由转载传播,但请署名及注明出处,不尊重别人劳动成果的不欢迎;
2、本博客内容遵守“署名-非商业性使用-禁止演绎 2.5 中国大陆”协议;
要求:在一个脚本中完成这个程序
1.从文件user.list中取出已给定的用户名和用户组,将这些用户和组按规则添加到系统中
2.从password.list中读取已经给定的用户密码。
user.list如下
zhangsan adminuser,dbuser,updatauser
lisi dbuser,updatauser
wanger updatauser,wheel
分类:技术日志 | 标签: shell、shell编程 | 4,551 个人看过
@xlu, 我作学问最认真了,不是写的潦草,是WORDPRESS排版就这样,刚刚把代码转移了,现在看看效果
usermod -G ‘awk “NR==$q {print $2}” user.list | awk ‘{print $2}” ‘awk “NR==$q {print $1}” user.list | awk ‘{print $1}” &> /dev/null
哥们你这个写得这么潦草 怎么看啊 太次了 做学问认真点
@admin, 呵呵,我知道是2个减号,提示是成功的。太奇怪了,看大家的方法都类似,似乎都成功的
@wanjie, 这里的代码被WORDPRESS替换了一些符号,–stdin 是两个减号 ,试试
请教jean,我通过这个方式echo $y | passwd –stdin $i 生成的帐号提示无法登陆,手动运行passwd改了2次密码才行。什么原因。谢谢。
awk ‘{print $2}’ user.list | sed ‘s/,/\n/g’ | sort | uniq -c|sed ‘s/[^a-zA-Z]//g’
这个不用这么复杂,换成下面这段:
awk ‘{print $2}’ user.list|sed ‘s/,/\n/g’|sort -u
for in 可换成while <
添加用户那段可用下面这句:
while read user group ; do echo "useradd $user -G $group"; done<user.list