kc32668287 2022-09-16 22:47 采纳率: 31.3%
浏览 62
已结题

if循环语句的写法可以这样写吗?

请教一个脚本编程问题
if循环语句可以按照下面的写法吧?太久没用了,谢谢!

#!/bin/bash
#set -x
i2=`curl -s 20.40.30.57:9100/metrics |egrep "^check_ok" |awk '{print $2}'`
if [ $i2 == "1" ]
   then
      echo "1"
    else
        sleep 60 
        i3=`curl -s 20.40.30.57:9100/metrics |egrep "^check_ok" |awk '{print $2}'`
        if [ $i3 == "1" ]
           then
               echo "1"
           else
                sleep 60
                i4=`curl -s 20.40.30.57:9100/metrics |egrep "^check_ok" |awk '{print $2}'`
        fi
                if [ $i4 == "1" ]
                   then
                       echo "1"
                   else 
                        sleep 60
                        i5=`curl -s 20.40.30.57:9100/metrics |egrep "^check_ok" |awk '{print $2}'`
                fi
                        if [ $i5 == "1" ]
                           then 
                                 echo "1"
                           else
                                sleep 60
                                 i6=`curl -s 20.40.30.57:9100/metrics |egrep "^check_ok" |awk '{print $2}'`
                        fi
                                  if [ $i6 == "1" ]
                                     then
                                        echo "1"
                                     else 
                                        echo "0"
                                  fi

fi


  • 写回答

2条回答 默认 最新

  • _GX_ 2022-09-16 23:38
    关注

    你这个用一个循环不就行了?

    #!/bin/bash
    #set -x
    
    for i in {1..5} ; do
        r=`echo -s 20.40.30.57:9100/metrics |egrep "^check_ok" |awk '{print $2}'`
        if [ "$r" == "1" ] ; then
            break
        else
            sleep 60
        fi
    done
    if [ "$r" == "1" ] ; then
        echo "1"
    else
        echo "0"
    fi
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
  • Java Fans 全栈领域优质创作者 2022-09-16 23:14
    关注

    看着貌似没啥问题,你运行报错了?

    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月25日
  • 已采纳回答 9月17日
  • 创建了问题 9月16日

悬赏问题

  • ¥15 我需要在PC端 开两个抖店工作台客户端.(语言-java)
  • ¥15 有没有哪位厉害的人可以用C#可视化呀
  • ¥15 可以帮我看看代码哪里错了吗
  • ¥15 设计一个成绩管理系统
  • ¥15 PCL注册的选点等函数如何取消注册
  • ¥15 问一下各位,为什么我用蓝牙直接发送模拟输入的数据,接收端显示乱码呢,米思齐软件上usb串口显示正常的字符串呢?
  • ¥15 Python爬虫程序
  • ¥15 crypto 这种的应该怎么找flag?
  • ¥15 代码已写好,求帮我指出错误,有偿!
  • ¥15 matlab+波形匹配算法