2013-03-06 30 views
0

嗨,大家好,我正试图解决的问题是,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 

回答

1

试试这个:

如果[ “$新的” == “不”];然后

+0

没有工作 – 2013-03-06 22:04:04

+0

尝试用空格周围''==空间 – niculare 2013-03-06 22:07:40

+0

是绝对需要。 '“$ new”==“否”'不是表达式;它们是'''命令的3个独立参数,因此需要用空格分隔。 – chepner 2013-03-06 22:08:35

3

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

而不是

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

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

工作感谢 – 2013-03-06 22:10:05