Póster por segunda vez, todavía un novato. Me encargan la tarea de escribir un programa corto que ofrezca al usuario una taza de té. La idea es demostrar el uso eficiente debucles while y sentencias if.
Se pregunta al usuario "¿Quieres una taza de té?". Si el usuario responde Sí, el script finaliza.
Si el usuario dice No [N], el script continúa preguntando "¿Estás seguro?"cuatro veces más. Si en algún momento de estas 4 repeticiones el usuario dice Sí [Y], el script finalizará.
Aquí está mi guión hasta ahora. Lo ejecuté y lo hice funcionar hasta el punto de decir Sí, pero el "No" en bucle me está causando problemas; y parece que no puedo ejecutarlo en absoluto ahora; recibo el siguiente mensaje
`syntax error: near unexpected token 'else'`
Aquí está mi guión completo. Nuevamente, soy muy nuevo en esto, por lo que todos los comentarios son bienvenidos.
#!/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