shell代码求教!~~~
本帖最后由 hahedd 于 2011-04-13 21:07 编辑
本人是shell编程初学,碰到一个问题。在编写一个用于查看5秒内文件是否有创建或删除文件并显示的程序时,执行总是不成功。代码如下,可能有点乱,希望见谅~~~
#! /bin/sh
tput clear
while true
do
ls $pwd *.pdf > a.txt
sleep 5
ls $pwd *.pdf > b.txt
tmp1=$(comm -23 a.txt b.txt | wc -l)
tmp2=$(comm -13 a.txt b.txt | wc -l)
tmp3=$(comm -3 a.txt b.txt | wc -l)
if [ !$tmp1 -eq 0 ]
then
echo "the following pdf flie(s) have been created in the last 5 seconds."
comm -23 a.txt b.txt
elif [ !$tmp2 -eq 0 ]
then
echo "the following pdf flie(s) have been removed in the last 5 seconds."
comm -13 a.txt b.txt
elif [ !$tmp3 -eq 0 ]
then
echo "no pdf files have been created or removed in the last 5 seconds."
fi
rm a.txt b.txt
done
显示的错误在第28行,就是"done",实在是新手,拜托拜托了!~~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
回复 1# hahedd
elif [ !$tmp3 -eq 0 ]
echo "no pdf files have been created or removed in the last 5 seconds."
fi
这里elif 不要then 啦 ?
回复 1# hahedd
elif [ !$tmp3 -eq 0 ]
echo "no pdf files have been created or removed in the last 5 seconds."
fi
这里elif不要then 啦 ?
本帖最后由 hahedd 于 2011-04-12 23:52 编辑
啊不好意思,原来的里面是有的,我漏了。。。。。。。也就是说不是这个错误啊
楼主很不细心
回复 5# zooyo
不好意思。。。。。一急就乱了,原文里是正确的3个变量
回复 6# xiaopan3322
额。。。。。。。不好意思了啊
回复 1# hahedd
!$tmp1 这是什么
本帖最后由 南极雨 于 2011-04-13 16:17 编辑
LZ 很谦虚呢...
有返回的错误之类的吗? 是什么?
或者: ./script ; echo $? 看看是否则正确执行了...
呵呵,再就是楼上的观点