【问题标题】:how to break out of the loop if the boolean condition is false如果布尔条件为假,如何跳出循环
【发布时间】:2013-02-21 22:08:58
【问题描述】:

大家好,我要解决的问题是,即使您输入 no,while 循环在这两种情况下都可以正常工作,如果我输入 yes,第二个问题 echo 你想继续,这两种情况都会中断

echo would you like to provide  more numbers: 
read des

while [ "$des"=="yes" ];  do

    echo provide a number please:
    read num
    let x=3num+$num
    echo $x

    echo would you like to carry on 
    read new

    if [ "$new"=='no' ]; then
        break
    fi
done

【问题讨论】:

    标签: bash if-statement command-line terminal while-loop


    【解决方案1】:

    要完成字符串比较,请添加空格:

    而不是

    while [ "$des"=="yes" ];  do
    

    while [ "$des" == "yes" ];  do
    

    【讨论】:

      【解决方案2】:

      试试这个:

      如果 [ "$new" == "否" ];那么

      【讨论】:

      • 试试==周围的空格
      • 绝对需要空格。 "$new" == "no" 不是表达式;它们是 [ 命令的 3 个独立参数,因此需要用空格分隔。
      猜你喜欢
      • 1970-01-01
      • 2017-07-23
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 2014-01-23
      • 2015-03-20
      相关资源
      最近更新 更多