病例ESAC;语法错误:换行意外(期待“)”)

时间:2015-10-15 21:35:18

标签: bash shell

我为一个简单的案子而疯狂但却找不到我所遗漏的东西。 他们告诉我下一个错误:

name.sh: 21: name.sh: syntax error: newline unexpected (expecting ")")

我的代码就是那个(错误是案例的一行):

#!/bin/bash
while true
do
    clear
    echo "________________________________________________________"
    echo "1) Encontraren el disco ficheros que contengan un patrón"
    echo "2) Tamaño de un directorio y su contenido"
    echo "3) Exit"
    echo "________________________________________________________"

    echo -e "\n"
    echo -e "Introduce una opción (1/2/3): \c"
    read answer
    case "$answer" in 
        1) 
            ls
            ;;
        2) 
            cal
            ;;
        3) 
            exit
            ;;
    esac
    echo -e "pressiona enter per continuar \n"
    read input
done

1 个答案:

答案 0 :(得分:3)

不要尝试重新发明菜单。 Bash有一个内置的命令:select

#!/bin/bash
PS3="Introduce una opción: "
select answer in "Encontraren el disco ficheros que contengan un patrón" \
                "Tamaño de un directorio y su contenido" \
                "Exit"
do
    case "$answer" in 
        "Encontraren el disco ficheros que contengan un patrón")
            ls
            ;;
        "Tamaño de un directorio y su contenido")
            cal
            ;;
        "Exit")
            exit
            ;;
    esac
    read -p "pressiona enter per continuar "
    clear
done