2013-03-06 3 views
0

Привет, ребята, проблема, которую я пытаюсь решить, заключается в том, что цикл while будет работать в обоих случаях, даже если вы наберете no и второе эхо-сообщение проблемы, которое вы хотели бы переносить на, если я типа да вспыхнет в обоих случаяхКак вырваться из цикла, если логическое условие ложно

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

это не работа –

+0

попытаться с пробелами вокруг '' == – niculare

+0

Пространства абсолютно необходимо. '' $ new "==" no "' не является выражением; они представляют собой 3 отдельных аргумента команды '[', и поэтому должны быть разделены пробелами. – chepner

3

Для завершения сравнения строк, добавьте пробелы:

Вместо

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

написать

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

, который работал благодаря –

Смежные вопросы