Sempre tente um script executando-o a partir de uma linha de comando. Se você fez isso, você veria a seguinte mensagem
:~$ ./test.sh
./test.sh: line 20: syntax error near unexpected token ')'
./test.sh: line 20: ' *) echo "Please enter either C or Press [ENTER]"'
Se você procurar o manual bash, verá a seguinte sintaxe:
case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac
Isso significa que, após os comandos a serem executados, você precisa adicionar um ;;
(não necessariamente após uma declaração exit
!) A instrução case
a seguir também funciona:
case $selection in
[Cc]) exit;;
"") echo "Shutting down... 'sudo shutdown -c' to cancel"
sleep 5
sudo shutdown -h 180
;;
*) echo "Please enter either C or Press [ENTER]"
;;
esac
OK, mas esta é uma resposta chata. Você sabe o que - você quer um programa interativo. Você o lança em uma GUI (clicando em um ícone). Por que não usar (tadam!) zenity :
#!/bin/bash
if zenity --question --text "Shutdown in 3 hours?" ; then
zenity --info --text "Shutdown has been scheduled"
sudo shutdown -h 180
else
zenity --info --text "Shutdown CANCELLED"
fi