第二次发帖,还是个新人。我的任务是编写一个简短的程序,为用户提供一杯茶。这个想法是为了证明有效利用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