请教2个shell编程问题,刚学不久,求教求解释
redhat吧
全部回复
仅看楼主
level 1
天歌sunny 楼主
程序说明:本脚本的作用是给一些用户发一封邮件(用户john除外),需要两个参数,第一个参数是包含用户列表的文件,第二个参数是包含信件内容的文件
脚本代码:
#!/bin/sh
FILENAME= ① #将脚本第一个参数赋值给FILENAME
letter= ② #将脚本第二个参数赋值给letter
for person ③ `cat $FILENAME` #遍历FILENAME中的用户名

if [ ⑤ . ⑥ 'john' ] #如果用户名是john
then
⑦ #跳过本次循环
else
#给用户发邮件,邮件内容是$letter表示的文件,如果出现错误,则将错误信息保存在err文件中
if mail $person ⑧ $letter ⑨ err
then
echo $person was sent aletter.
else
echo Something is wrong,please see errfile
fi

done
填写下面脚本的空白处,使之完整。脚本启动时用一个用户名作为参数,然后在/etc/passwd中查找这个用户名。
脚本代码:
#!/bin/bash
file=/etc/passwd
if [ ⑾ ⑿ 0 ] #如果参数的个数是0
then
echo Usage:checking username
exit 1 #设置退出值为1
fi
user= ⒁ #将第一个参数赋值给变量user
if grep ⒂ $file #在file中查找user
then
echo Found $user in /etc/passwd file
else
echo No such user on our system
fi
2014年06月07日 07点06分 1
level 10
— —最好的成长,就是过好当下每一刻!
2014年06月07日 10点06分 2
level 12
1 和2就是了应该是就是文件的名字
3是in(for语法不说了)
4 do(for语法)
5$person
6==
7 break
8 -s
9 <
10 fi
11 $#
12 ==
14 $1
15 $user
8和9我不是很确定,你可以去查一下mail这个命令具体的语法,我有点忘记了好像是这样。
2014年06月07日 12点06分 3
10有错误,因为fi已经有了
2014年06月07日 17点06分
回复 天歌sunny :56哪一行有一个if,89哪一行还有一个。
2014年06月07日 18点06分
回复 xia879099778 :懂了,非常感谢
2014年06月07日 18点06分
1