Bash 如果布尔条件为false,如何中断循环

Bash 如果布尔条件为false,如何中断循环,bash,if-statement,command-line,terminal,while-loop,Bash,If Statement,Command Line,Terminal,While Loop,大家好,我要解决的问题是,while循环在两种情况下都能工作,即使您键入no,第二个问题echo如果我键入yes,您希望继续吗?它将在两种情况下都会爆发 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 ec

大家好,我要解决的问题是,while循环在两种情况下都能工作,即使您键入no,第二个问题echo如果我键入yes,您希望继续吗?它将在两种情况下都会爆发

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
试试这个:

如果[“$new”==“no”];然后试试这个:


如果[“$new”==“no”];然后

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

而不是

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


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

而不是

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


请尝试使用
==
周围的空格,空格是绝对必需的<代码>“$new”==“no”不是表达式;它们是
[
命令的3个独立参数,因此需要用空格分隔。尝试在
==
周围使用空格绝对需要空格。
“$new”==“no”
不是表达式;它们是
[
命令的3个独立参数,因此需要用空格分隔。