Я пытаюсь написать программу, в которой программа запросит у вас свое имя, подтвердите, что вы хотите это имя, а затем проверьте, не сказали ли вы да или нет. У меня есть цикл «no», где он будет запрашивать имя снова, но я пытаюсь создать цикл, в котором, если вы введете что-либо другое, кроме да или нет, оно скажет: «Пожалуйста, введите« да »или« нет ». затем спросите, хотите ли вы подтвердить свое имя, а затем снова проверьте ответ. Вот что у меня есть.Bash: while ошибка цикла
echo -e $WHITE"Name your$GREEN Hero$WHITE."
read HERO
clear
echo -e "Are you sure you want your$GREEN Hero$WHITE's name to be$GREEN "$HERO"$WHITE? y/n"
read ANSWER1
while [ $ANSWER1 = "no" ]; do
#
#
#
clear
echo -e $WHITE"Name your$GREEN Hero$WHITE."
read HERO
clear
echo -e "Are you sure you want your$GREEN Hero$WHITE's name to be$GREEN "$HERO"$WHITE? y/n"
read ANSWER1
done
while [ $ANSWER1 != "yes" ] || [ $ANSWER1 != "no" ]; do
#
#
#
clear
echo -e $WHITE"Please type yes or no."
sleep 1.5
clear
echo -e $WHITE"Are you sure you want your$GREEN Hero$WHITE's name to be$GREEN "$HERO"$WHITE?"
read ANSWER1
clear
done
clear
echo -e -n $WHITE"Loading"
sleep 1.5
echo -e -n "."
sleep 1.5
echo -e -n "."
sleep 1.5
echo -e -n "."
sleep 1.5
clear
echo -e "Done."
Если я пройду через «Пожалуйста, введите« да »или« нет ». он замерзнет во сне и не станет ясным, поэтому не будет отображать эхо и продолжить цикл. Любая помощь или предложения будут очень признательны!
выйти из привычки использовать ALL_CAPS_VARNAMES. Однажды вы [случайно используете 'PATH = ...'] (http://stackoverflow.com/questions/28310594/ls-not-found-after-running-read-path) и задаетесь вопросом, почему ваш скрипт сломался. –