当前位置: 技术问答>linux和unix
俄。。很简单的课后习题做不到阿。。。大侠们来接分。。
来源: 互联网 发布时间:2016-06-17
本文导语: #!/bin/sh touch addressee[code=C/C++] for name in `cat potential_hots` do if [ "$name" = "admin" ] then continue fi cd /home capacity=`du -sm $name` if [ $capacity -gt 10 ] ...
#!/bin/sh
touch addressee[code=C/C++]
for name in `cat potential_hots`
do
if [ "$name" = "admin" ]
then
continue
fi
cd /home
capacity=`du -sm $name`
if [ $capacity -gt 10 ]
then {那里地问题阿
mail $name > addressee 问题代码
num=`expr num + 1` 问题代码}
fi
done
echo "this people have a mail"
cat addressee
echo "have $num people" [/code]
potential_hots:(名单内容)
Mgic
admin
menu:(邮件内容)
chun ge chun ye men
程序输出:
[Magic@MagicFinger home]$ sh -x ./dusage
+ touch addressee
++ cat potential_hots
+ for name in '`cat potential_hots`'
+ '[' Magic = admin ']'
+ cd /home
++ du -sm Magic
+ capacity='66 Magic'
+ '[' 66 Magic -gt 10 ']'
./dusage: line 12: [: too many arguments(问题就在这里阿)
+ for name in '`cat potential_hots`'
+ '[' admin = admin ']'
+ continue
+ echo 'this people have a mail'
this people have a mail
+ cat addressee
+ echo 'have people'
have people
以上数据是测试用的。
就是写个向超过10M的用户发邮件除admin外
|
原因很简单
capacity=`du -sm $name`
这样执行后的值是capacity='66 Magic'
这个值不能和10比较
我帮你改一下:
capacity=`du -sm $name`
这样执行后的值是capacity='66 Magic'
这个值不能和10比较
我帮你改一下:
capacity=`du -sm $name | awk '{print $1}'`
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。