私は以前ここに同様の質問を:私は今持っているReturn to previous commands in bash script?[PART 2フォロー]
違いは、私が受け取った答えは部分的にしか機能しています。回答者に連絡しようとしましたが、回答はありませんでした。
とにかく、私はもっと多くのメニューを追加しようとしており、もっと "前の"オプションがあります。たとえば、次のようにしたいと考えています。
while [[ $answer -ne '3' ]];do
echo "Choose option:"
echo "1 - Begin"
echo "2 - Load"
echo "3 - Exit"
read -p "Enter Answer [1-2-3]:" answer
case "$answer" in
1) while [[ "$nm" == '' ]];do read -p "What is your Name:" nm;done # Keep asking for a name if the name is empty == ''
if [[ $nm == "prev" ]];then nm=""; else echo "Hello $nm" && break; fi # break command breaks the while wrapper loop
##Begin my custom code:
read -p ""What is your favourite colour?" cr
if [[ $cr == "prev" ]];then cr="" # And return to "What is your name"
echo "$cr is my favourite, too!
# And keep going on and on, utilizing the "prev" command to go back to the previous question.
#End my custom code.
;;
2) echo 'Load' ;;
3) echo 'exiting...' ;; # Number 3 causes while to quit.
*) echo "invalid selection - try again";; # Selection out of 1-2-3 , menu reloaded
esac # case closing
done # while closing
echo "Bye Bye!"
私はこれを書くのが難しいことをご理解ください。私の上で簡単に行ってください^^;
なぜあなたは別々の機能にあなたのメニューを分割し、いくつかの 'back'または'以前menu'オプションに前のメニュー機能を呼び出すことはありませんか?これは、あなたが複数のメニューインターフェイスで前後に行くことを求めているのでしょうか? – Azeem
そうだと思います。 (申し訳ありませんが、私の英語はそれほど良いものではありません)。たとえば、あなたの好きな色は何ですか? - _prev_あなたの名前は何ですか? - _prev_ 'オプションを選択してください。 ' – leetbacoon
問題はありません。それぞれのメニューは 'mainMenu()'、 'colorsMenu()'、 'infoMenu()'などの別々の関数で分けることができます。そして、関連する関数をメニューに移動できます。 'prev'では、関数を呼び出すだけで簡単になり、関連するオプションが表示されます。わかりましたか? – Azeem