发博文
正文 字体大小:

Linux面试题之shell编程详解(二)

(2009-02-20 17:41:36)
标签:

linux

shell

if

read

test

while

for

it

分类: Linux学习

                                                 软件测试   

                       测试空间旗下大头针出品

编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。

程序实现及注释如下:

#! /bin/bash
#deluser.sh

#考察while循环

i=1
while [ $i -le 50]
do
#查看账户是否存在:只需要在/etc/passwd文件查找就可以了。我是利用了一个管道符,再利用grep进行查#找;存在就删除,不存在给出提示。
#具体含义如下:
cat /etc/passwd 把passwd的内容打印到标准输出上(显示器上)但有了管道符以后。passwd的内容就不

#打印到标准输出上了,就直接转到了下一个命令的标准输入里。那么grep  stud$i,就从标准输入里进行

#查找了。

if [ -n "`cat /etc/passwd | grep stud$i`" ]
then
 userdel -r stdu$i
else
 echo "No find stdu$i"
i=$(($i+1))
done

#本题目考察到while、if语句、test命令等知识。难点在于要删除的用户是否存在我们需要自己判断。

#其实只要我们对grep或正则表达式学过一点就能写出来。大家多练练,下次碰到类似的题目就没有问题

#了。

阅读 评论 收藏 转载 打印举报
已投稿到:
  • 评论加载中,请稍候...

       

    验证码: 请点击后输入验证码 收听验证码

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有