「yes」を押してbashで「yes / no」操作を実行するには?

「yes」を押してbashで「yes / no」操作を実行するには?

Bashスクリプトに「はい/いいえ」構造があるとしましょう。

read -r -p "Yes or no?" response
if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]
 then 
 do ...
else
 exit 0
fi

私は「いいえ」を押すまでこの設定を実行したいと思います。つまり、「はい」を押してから「Do...」を完了したら、「はいまたはいいえ?」で返信したいと思います。

ベストアンサー1

あなたが望むものではないまで、応答を依頼する必要があります。

while true;
do
    read -r -p "Yes or no? " response   
    if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]
    then
        echo "You chose yes"
    else
        exit 0
    fi
done

おすすめ記事