2016-05-25 3 views
2

Noを選択した場合、スクリプトを最初のecho文に戻すにはどうすればよいですか?BASH、ユーザーの応答がNoの場合は、どのようにコマンドを繰り返しますか?

echo "Please enter some input: " 
read input_variable 
echo "You entered: $input_variable" 

read -r -p "Is this Correct? [y/N] " response 
case $response in 
[yY][eE][sS]|[yY] 
do_something 
;; 
*) 

{最初の行に戻る - 「いくつかの入力を入力してください:」エコー}

;; 
esac 

答えて

1

入力が確認された後のうち、あなただけbreakwhileループであなたのプロンプトラップ:

Nだけでなく、caseハンドラで一致するもの以外の入力は、アクティブのままです。

+1

感謝:) – Heath

0

コード全体の周りにループを使用します。

quit=0 

while [ $quit == 0 ]; do 
    echo "Please enter some input: " 
    read input_variable 
    echo "You entered: $input_variable" 

    read -r -p "Is this Correct? [y/N] " response 
    case $response in 
    [yY]) 
    echo "do_something" 
    quit=1 
    ;; 
    *) 
    ;; 
    esac 
done 
私が探していたまさに
関連する問題