Chinaunix

标题: ===shell脚本如何判断远程主机文件是否存在呢?=== [打印本页]

作者: 奋斗的毛毛虫    时间: 2011-09-08 19:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: chenyx    时间: 2011-09-08 20:42
[ -f filename ]
楼主还是先学习点shell基础吧
作者: 奋斗的毛毛虫    时间: 2011-09-09 08:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: taojie2000    时间: 2011-09-09 11:36
回复 3# 奋斗的毛毛虫


    这个可以的话 直接在远程机器写个脚本得了 省的还要远程连接 判断
作者: 奋斗的毛毛虫    时间: 2011-09-09 12:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: MMMIX    时间: 2011-09-09 12:19
本帖最后由 MMMIX 于 2011-09-09 12:21 编辑
问题已解决,大家请看:
-ip=1.2.3.4
ssh $_ip "ls /tmp/abc.log"
if [ $? -eq 0 ];then
ssh $_ip "rm  ...
奋斗的毛毛虫 发表于 2011-09-09 12:08



    干嘛要多此一举的判断?直接删除不就得了?另外,删个文件你用 -r 干嘛?
作者: 奋斗的毛毛虫    时间: 2011-09-09 13:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 奋斗的毛毛虫    时间: 2011-09-09 13:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: MMMIX    时间: 2011-09-09 14:23
你好,是这样的。为了防止邮件积压,所以做此判断。
例:无此文件,脚本执行的时候会报错此文件 ...
奋斗的毛毛虫 发表于 2011-09-09 13:15



    rm 的 -f 选项就可以防止这种选项。再说了,像这种先检测文件是否存在,然后再根据检测结果执行某种动作,如果没有其他机制保护,检测完和执行对应动作之前这个时间窗口(time window)总是可能导致 race condition。
作者: shplpy    时间: 2011-09-13 20:29
回复 8# 奋斗的毛毛虫


    你用的什么版本的linux,我怎么没遇到过 rm -f file 之后会报错




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2