While 迴圈/If 語句問題

While 迴圈/If 語句問題

第二次發帖,還是個新人。我的任務是編寫一個簡短的程序,為使用者提供一杯茶。這個想法是為了證明有效使用while 迴圈和 if 語句

用戶被問到「你想喝杯茶嗎?」。如果使用者回答“是”,則腳本結束。

如果用戶說“否”[N],腳本會繼續詢問“您確定嗎?”再四次。如果在這 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

相關內容