免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1997 | 回复: 3
打印 上一主题 下一主题

[其他] 关于ssh时循环判断文件是否存在的问题[急] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2019-03-07 17:21 |只看该作者 |倒序浏览
新手小白,在编写验证hadoop文件是否存在的时候,验证的文件不存在时程序判断返回值为0,下为源代码:
  1. #!/bin/bash
  2. foldername=$1
  3. outdata_name=$2
  4. datatype=$3
  5. ssh wise@hadoop82 'for((i=1;i<=1080;i++));do
  6.     hadoop fs -test -d /AutoSanity.prj/test.srv/${foldername}/${outdata_name}.${datatype}
  7.     if [ $? -eq "0" ];then
  8.         echo 0
  9.         break
  10.     else
  11.         sleep 30
  12.     fi
  13. echo 1
  14. done'
复制代码




源代码.png (31.13 KB, 下载次数: 59)

源代码

源代码

传参不存在文件.png (139.78 KB, 下载次数: 60)

传参不存在文件

传参不存在文件

论坛徽章:
0
2 [报告]
发表于 2019-03-07 22:17 |只看该作者
本帖最后由 jzsjm1002 于 2019-03-07 22:21 编辑
  1. #!/bin/bash
  2. #

  3. remote_ip=$1
  4. path1=$2

  5. if [ $# -eq 0 ];then
  6. echo "USAGE: {$0 ip path}";exit
  7. fi

  8. ret=`ssh root@$remote_ip "[ -e $path1 ] && echo "存在" || echo "不存在""`
  9. echo $ret
复制代码
  1. root@vh10:/mnt# ./test.sh 192.168.0.20 /mnt/awk/a00.xml
  2. 存在
  3. root@vh10:/mnt# ./test.sh 192.168.0.20 /mnt/a00.xml
  4. 不存在
复制代码


论坛徽章:
0
3 [报告]
发表于 2019-03-08 09:03 |只看该作者
回复 2# jzsjm1002

hi, 我想实现的是轮回查询该文件,当该文件存在时退出循环并输出0,否则等待一会继续查询,最后不超过10次循环

论坛徽章:
0
4 [报告]
发表于 2019-03-08 10:31 |只看该作者
回复 3# tennizhang

  1. #!/bin/bash
  2. #

  3. remote_ip=$1
  4. path1=$2

  5. if [ $# -eq 0 ];then
  6. echo "USAGE: {$0 ip path}";exit
  7. fi

  8. for i in `seq 10`
  9. do
  10. ret=`ssh root@$remote_ip "[ -e $path1 ] && echo 0 || echo 1"`
  11. if [ $ret -eq 0 ];then
  12.   echo "$ret"
  13.   exit
  14. else
  15.   sleep 1
  16. fi
  17. done
  18. [ $ret -ne 0 ] && echo 1
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP