0

我写了这样的东西

    #!/bin/bash
PS3='Select an option and press Enter: '
select tree_1 in Date Host Users Quit
do
    case $tree_1 in
        Date)
            select tree_1_1 in Date1 Date2
            do
                case $tree_1_1 in
                    Date1) date;;
                    Date2) date;;
            esac
    done
        Host)  hostname;;
        Users)  who;;
        Quit)  break;;
    esac
done

执行后我有

./1menu:第 14 行:意外标记 `)' 附近的语法错误

./1menu: line 14: `Host) 主机名;;'

你能告诉我问题出在哪里吗?感谢您的帮助。

4

1 回答 1

3

你还没有终止你的Date案子。您需要;;在内部 case 语句之后添加:

Date)
    select tree_1_1 in Date1 Date2
    do
        case $tree_1_1 in
            Date1) date;;
            Date2) date;;
        esac
    done
    ;;   # you're missing this terminator
于 2012-09-14T22:33:32.383 回答