|

楼主 |
发表于 2006-6-3 20:39:41
|
显示全部楼层
我写的脚本的问题
对于客户端,我写了如下一个脚本,可是在for循环下面的if语句中出现错误。运行是可以运行,但是会打印出这样一些错误消息:./send: line 19: [: too many arguments
脚本代码如下:
#!/bin/bash
#write a shell script to send some messages to others.
#Then mesg shut, to stop him/her to write back mesg.
if [ $# -eq 0 ] ; then #script require argument
echo "Usage: $0 username..."
exit 1
fi
msgsend(){ #messages send function
while : #repeat sending messages in time designated
do
for i in $@ #send messages to all users in the argument list
do
write $i < msg.txt;
done
ERR=$(grep "messages disabled" out.txt);
if [ X$ERR != X ] ; then #user refuse to accept messages
rm out.txt;
mesg n;
break; #exit the while loop
fi
sleep 3600; #send messages every hour
done
}
mesg y; #enable message to send messages
if [ -s out.txt ] ; then
rm out.txt; #remove old output file
fi
exec 5>out.txt; #output redirect
msgsend $@ 2>&5 &
#end script
请帮忙看看for循环下面紧跟着的那个if语句错在哪儿?我实在看不出来。 |
|