Whileループ/If文の問題

Whileループ/If文の問題

2番目の投稿ですが、まだ初心者です。私の使命は、ユーザーにお茶のカップを提供する短いプログラムを書くことです。アイデアは効果的な使用を示すことです。whileループとifステートメント

ユーザーに「お茶を飲みますか?」という質問が表示されます。ユーザーが「はい」と答えると、スクリプトは終了します。

ユーザーが「いいえ」[N] と答えると、スクリプトは「続行しますか?」と尋ねます。4回。この4回の繰り返しのいずれかの時点で、ユーザーが「はい」[Y]と言うと、スクリプトは終了します。

これはこれまで私のスクリプトです。私はそれを実行し、「はい」と言うまで動作しましたが、繰り返し可能な「いいえ」のために問題が発生しました。今はまったく実行できないようです。次のメッセージが表示されます。

`syntax error: near unexpected token 'else'`

ここに私の完全なスクリプトがあります。もう一度申し上げますが、私はこの分野が初めてなので、すべてのフィードバックを暖かく歓迎します。

#!/bin/bash
while [[ $refusals != 4 ]]
do
    echo "Will you have a cup of tea? [Y/N]"
    read response
    $refusals = 0

    if [[ $response = Y ]] || [[ $response = y ]]
    then
        $refusals = 4
        echo "Great, I'll make tea now!"
        exit
    elif [[ $response = N ]] || [[ $response = n ]]
        $refusals = [[ $refusals+1 ]]
        echo "Are you sure?"
        read response

    else
        echo "Fine, be that way."
        exit

fi

done

ベストアンサー1

おすすめ記事