2017-03-10 15 views
1

メニューを一度実行してから、ユーザーが再度実行したいかどうかを尋ねます。そうであれば、noと答えるまで実行を続けます。私はいくつかの例をオンラインで見ましたが、実装方法を理解していません。bashを使ってdo-whileループを作成するには?

#Menu 
echo "Menu" 
echo "1. Display the message that indicates when the <script> command stared" 
echo "2. Dispay the message that indicates when the <script> command terminated" 
echo "3. game score" 
read answer 

if[[ $answer == 1 ]]; then 
echo"" 
elif[[ $answer == 2 ]]; then 
echo"" 
elif [[ $answer == 3]]; then 
fi 

echo "Do you want to repeat this routine?(Y/N)" 
read yesno 

答えて

3

その他のアプローチ: `PS3 =によって

#the action functions 
do_script_start() { 
    echo "this is a message - start" 
} 
do_script_term() { 
    echo "this is a message - term" 
} 
do_score() { 
    echo "this is a game score" 
} 

# main 
ans=(
"Display the message that indicates when the <script> command stared" 
"Dispay the message that indicates when the <script> command terminated" 
"game score" 
"exit menu" 
) 
PS3="Select what you want>" 
select answer in "${ans[@]}" 
do 
case "$REPLY" in 
    1) do_script_start ;; 
    2) do_script_term ;; 
    3) do_score ;; 
    4) break ;; 
esac 
done 
echo "here..." 
+0

あなたはbashの内部変数PS3を参照してください' "あなたが欲しいものを選択して"? –

+0

@GeorgeVasiliouはい、 'PS3'は' select'プロンプトとして使われます。 – jm666

+0

私は最初にメニューを実行したいと思った後、選択肢(1,2,3)を選択して実行すると、メニューを再度実行するかどうかを尋ねました。それはできますか? – G3Spin

関連する問題