编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。
程序实现及注释如下:
#! /bin/bash
#deluser.sh
#考察while循环
i=1
while [ $i -le 50]
do
#查看账户是否存在:只需要在/etc/passwd文件查找就可以了。我是利用了一个管道符,再利用grep进行#查找;存在就删除,不存在给出提示。
#具体含义如下:
# ls /etc/passwd 把passwd的内容打印到标准输出上(显示器上)但有了管道符以后。passwd的内容就#不打印到标准输出上了,就直接转到了下一个命令的标准输入里。那么grep stud$i,就从标准输入里进行
#查找了。
if [ -n "`ls /etc/passwd | grep stud$i`" ]
then
userdel -r stdu$i
else
echo "No find stdu$i"
i=$(($i+1))
done
#本题目考察到while、if语句、test命令等知识。难点在于要删除的用户是否存在我们需要自己判断。
#其实只要我们对grep或正则表达式学过一点就能写出来。大家多练练,下次碰到类似的题目就没有问题
#了。
Linux Shell面试题:
发表于 @ 2009年02月20日 17:45:00 | 评论( loading... ) | 举报| 收藏