Eu acho que você quer algo assim:
#!/bin/sh
read -rp 'Fish or chicken? ' protein
read -rp 'Beans or rice? ' starch
read -rp 'Broccoli or asparagus? ' veggie
read -rp 'Beer or beer? ' drink
echo "You have ordered the $protein with a side of $starch and $veggie, and to drink you will have $drink"
while true; do
read -rp 'Would you like to order again? ' order
if echo "order" | grep -iq 'yes'; then
exec $0
elif echo "order" | grep -iq 'no'; then
exit 0
fi
done
read
é um shell interno que lê a entrada padrão. Com a opção -p
, ele "avisa" o usuário e define a variável REPLY
padrão ou uma variável especificada (proteína, amido, veggie, bebida, etc)
$0
é um parâmetro especial do shell que expandirá para o nome do shell em um script o nome do script
Se a resposta do usuário for "Deseja solicitar novamente?" é yes
, então o script será executado novamente, senão ele será encerrado.