shell代码求教!~~~

发布于 2022-10-15 10:17:12 字数 1530 浏览 50 评论 0

本帖最后由 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

俏︾媚 2022-10-22 10:17:12

回复 1# hahedd

elif [ !$tmp3 -eq 0 ]
          echo "no pdf files have been created or removed in the last 5 seconds."
fi

这里elif 不要then 啦 ?

羁绊已千年 2022-10-22 10:17:12

回复 1# hahedd

elif [ !$tmp3 -eq 0 ]
          echo "no pdf files have been created or removed in the last 5 seconds."
fi

这里elif不要then 啦 ?

爱给你人给你 2022-10-22 10:17:12

本帖最后由 hahedd 于 2011-04-12 23:52 编辑

啊不好意思,原来的里面是有的,我漏了。。。。。。。也就是说不是这个错误啊

凉城已无爱 2022-10-22 10:17:12

楼主很不细心

毁虫ゝ 2022-10-22 10:17:12

回复 5# zooyo

   不好意思。。。。。一急就乱了,原文里是正确的3个变量

总以为 2022-10-22 10:17:12

回复 6# xiaopan3322

    额。。。。。。。不好意思了啊

寄离 2022-10-22 10:17:12

回复 1# hahedd

    !$tmp1 这是什么

终难愈 2022-10-22 10:17:12

本帖最后由 南极雨 于 2011-04-13 16:17 编辑

LZ 很谦虚呢...
有返回的错误之类的吗? 是什么?

或者: ./script ; echo $? 看看是否则正确执行了...

呵呵,再就是楼上的观点

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文