2013-03-06 62 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