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

相关内容