2回目の投稿者、まだ初心者です。ユーザーにお茶を提供する短いプログラムを書くという課題があります。アイデアは、while ループと if 文。
ユーザーに「お茶を飲みますか?」と尋ねます。ユーザーが「はい」と応答すると、スクリプトは終了します。
ユーザーが「いいえ [N]」と答えると、スクリプトは「よろしいですか?」と尋ねます。あと4回これら 4 回の繰り返しのいずれかの時点でユーザーが Yes [Y] と答えると、スクリプトは終了します。
これまでのスクリプトは次のとおりです。実行して、Yes と答えるところまではうまくいきましたが、ループ可能な「No」が問題を引き起こしています。現在はまったく実行できないようです。次のメッセージが表示されます。
`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