我想寫一個程序,其中程序會問你你的名字,確認你想要這個名字,然後檢查,看看你說是或否。我有「否」循環工作,它會再次要求一個名稱,但我試圖循環,如果您輸入除yes或no之外的任何其他字符,它將會顯示「請輸入yes或no」。然後詢問你是否要確認你的名字,然後再次檢查答案。這裏有我的。Bash:雖然循環錯誤
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."
如果我去通過 「請輸入yes或no。」它會在睡眠時凍結而不清晰,因此不會顯示回聲並繼續循環。任何幫助或建議將不勝感激!
擺脫使用ALL_CAPS_VARNAMES的習慣。有一天,你會[意外地使用'PATH = ...'](http://stackoverflow.com/questions/28310594/ls-not-found-after-running-read-path),並想知道爲什麼你的腳本打破了。 –