shell面试题

2009年3月17日 作者: jean 留言 »

转载本站文章请注明,作者:jean
本文连接http://www.zhangyiqun.net/115.html

 

1、除特别说明外,本博客内容皆为原创,可以自由转载传播,但请署名及注明出处,不尊重别人劳动成果的不欢迎;

2、本博客内容遵守“署名-非商业性使用-禁止演绎 2.5 中国大陆”协议;

 

要求:在一个脚本中完成这个程序
1.从文件user.list中取出已给定的用户名和用户组,将这些用户和组按规则添加到系统中
2.从password.list中读取已经给定的用户密码。


user.list如下
zhangsan adminuser,dbuser,updatauser
lisi dbuser,updatauser
wanger updatauser,wheel

#!/bin/bash

#group add

for x in ‘awk ‘{print $2}’ user.list | sed ’s/,/\n/g’ | sort | uniq -c|sed ’s/[^a-zA-Z]//g”

do

        groupadd $x &> /dev/null

done

 

#back message

if (($?==0))

then

        echo “Group Ok!!”

else

    exit 1

fi

 

 

#user add

for i in ‘awk ‘{print $1}’ user.list’

do

    for y in ‘awk ‘{print $2}’ password.list’

    do

    useradd $i &> /dev/null

    echo $y | passwd –stdin $i &> /dev/null

    done

done

 

#back message

if (($?==0))

then

    echo “User Ok!”

else

    exit 1

fi

 

#add users to groups

 

for ((q=1;q<=3;q++))

do

 

    usermod -G ‘awk “NR==$q {print $2}” user.list | awk ‘{print $2}” ‘awk “NR==$q {print $1}” user.list | awk ‘{print $1}” &> /dev/null

done

 

if (($?==0))

then

    echo “All Finished!”

fi

广告位

留言

 Site speeded up by PHP Speedy