【问题标题】:How to stop the while loop when two if condition is present当两个if条件存在时如何停止while循环
【发布时间】:2022-06-10 21:16:18
【问题描述】:

专家,

需要您的帮助来实现我的要求。我刚开始学习 bash 脚本。

脚本:

#!/bin/bash

tick=5
tock=

while :
do
if [ -z "$tick" ]
    then
        echo "All Good"
    else
        echo "call for support"
fi
if [ -z "$tock" ]
    then
        echo "I am good"
    else
        echo "call for support now"
fi
sleep 10
done

总结: 在正常情况下,变量 tick 和 tock 都将始终为空。 所以,当我运行这个脚本时,它会每 10 秒回显“All Good”和“I am good”。 在发行状态期间,变量将有一个整数。 当它发生时,else 条件会被触发,它会回显“call for support”和“call for support now”。

我需要的是,当 IF 条件失败时,脚本应该只从 IF 条件中回显一次(请求支持和立即请求支持)并中断循环。

如果我在第一个 ELSE 中中断,则不会读取第二个 IF。 请帮助我实现这一目标。

提前致谢。

【问题讨论】:

  • 您是否尝试过使用 AND,就像在任何编程语言中一样?
  • 我不太了解您脚本中的逻辑。您将值分配给变量tocktick,但之后永远不要更改这些变量。因此,[ -z "$tick" ] 将始终为 true(状态代码 0),[ -z "$tock" ] 将始终为 false(状态代码 1)。

标签: bash


猜你喜欢
  • 2016-10-07
  • 2019-05-16
  • 2020-07-21
  • 1970-01-01
  • 2019-01-29
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多