Escolha sua própria aventura! no Bash

3
Então eu sou um noob no bash, e eu queria tentar me desafiar com a tentativa de escolher o seu tipo de aventura. Eu comecei tentando usar if argumentos, mas isso não funcionou, então estou tentando case , e isso não parece funcionar também! aqui está meu script:

 #!/bin/bash
 clear
 echo "you are in a dark room."
 echo "1: Turn on light"
 echo "2: Go back to sleep"

 read option1
 case $option1 in
     1) echo "The room fills with light, revealing itself. It is a 
 small room, with a Steel door and a small keyhole. There is a small 
 piggybank with a keyhole and a small wooden chest beside it without a 
 keyhole."
     2) echo "What little of the room you can see fades as sleep 
 washes over you"
     exit 
 esac

Alguém pode me dizer o que estou fazendo de errado? sempre que eu tento executar isso, isso me traz de volta:

/home/sqidman31/Desktop/Test_Folder/Story2.sh: line 10: syntax error 
near unexpected token ')'
/home/sqidman31/Desktop/Test_Folder/Story2.sh: line 10: '   2) echo 
"What little of the room you can see fades as sleep washes over you"'
    
por Kevin Lockwood 14.05.2017 / 05:48

2 respostas

2

Sua construção case está malformada - cada caso precisa ser finalizado por ;; :

 #!/bin/bash
 clear
 echo "you are in a dark room."
 echo "1: Turn on light"
 echo "2: Go back to sleep"

 read option1
 case $option1 in
     1) echo "The room fills with light, revealing itself. It is a 
 small room, with a Steel door and a small keyhole. There is a small 
 piggybank with a keyhole and a small wooden chest beside it without a 
 keyhole."
     ;;
     2) echo "What little of the room you can see fades as sleep 
 washes over you"
     ;;
     *)
     exit
     ;;
 esac
    
por steeldriver 14.05.2017 / 08:47
2

Desculpe pessoal, eu estraguei tudo. Esqueci de adicionar uma ação para a instrução else , e isso estragou tudo. alarme falso.

    
por Kevin Lockwood 14.05.2017 / 05:50