linux - 小 sh 脚本错误

标签 linux dialog sh

当我运行程序并单击"is"时会引发错误:

/home/zygis/tools/script: 26: Syntax error: ")" unexpected (expecting ";;")

代码:

DIALOG=${DIALOG=dialog}

$DIALOG --title " My first dialog" --clear \
        --yesno "You really want to run this program?" 10 30

case $? in
  0)
    if [ "$1" = "start" ];
    then
            echo "Enter OS: ";
            read OS
            echo OS
            python /home/zygis/tools/dj.py $OS
    else
        if [ "$1" = "uprint" ];
        then
            echo "usage: {start}";
            echo "example: (./boot start)";
        else
            echo "Invalid choice";
            echo "To usage use uprint";
        fi
    fi
  1)
    echo "No chosen.";
  255)
    echo "ESC pressed.";
esac

最佳答案

您的case/esac 的每个案例都必须由;; 终止。 See the man page...

case $? in
  0)
    if [ "$1" = "start" ];
    then
            echo "Enter OS: ";
            read OS
            echo OS
            python /home/zygis/tools/dj.py $OS
    else
        if [ "$1" = "uprint" ];
        then
            echo "usage: {start}";
            echo "example: (./boot start)";
        else
            echo "Invalid choice";
            echo "To usage use uprint";
        fi
    fi
    # Terminate.....
    ;;
  1)
    echo "No chosen.";
    # Terminate.....
    ;;
  255)
    echo "ESC pressed.";
    # Terminate.....
    ;;
esac

关于linux - 小 sh 脚本错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6790746/

相关文章:

linux - 如何在 Linux 中比较两个目录的文件(仅使用文件名)?

python - 如何使 Python 模块可共享?

sh - 在POSIX sh中检查字符串是否以 "!"开头

C sys/stat.h 并非 stat 结构的每个字段都被初始化

Linux 内核 - "put"一个 inode 是什么意思?

javascript - 发布到 Facebook 后如何关闭弹出窗口?

javafx - 如何将警报设置为始终在最前面?

android - Facebook session 取消对话框

python - 如何指示 sh 脚本运行 python 脚本?

linux - 在 shell 脚本中分配相等的空格,以便单行中的多个输出语句之间不会发生重叠