linux - bash case 语句中出现语法错误

标签 linux bash

我编写了以下 bash 语句,但在执行时出现错误

case "$var1" in
        *abc.com*)
                data+="found abc.com"
        ;;
        *)
case $Svar2 in
     1*) if [[  "$value" == 113* ]]  || [[ "$value" == 1122.168.52.* ]]
           then
               data+="value correctly set"
         fi
         ;;
        *)
     2*) if [[  "$value" == 114* ]]  || [[ "$value" == 115* ]]
              then
                  data+="value correctly set"
            fi
         ;;
        *)
        data+="value not set"
        ;;
esac

当我运行上述命令时,出现错误 syntax error near unexpected token )'`

最佳答案

$Svar2 的第二种情况之前有一个额外的 *)

并且您缺少 case $Svar2esac 语句。

case "$var1" in
    *abc.com*) data+="found abc.com" ;;
    *) case $Svar2 in
        1*) if [[  "$value" == 113* ]]  || [[ "$value" == 1122.168.52.* ]]
            then
                data+="value correctly set"
            fi ;;
        2*) if [[  "$value" == 114* ]]  || [[ "$value" == 115* ]]
            then
                data+="value correctly set"
            fi ;;
        *) data+="value not set" ;;
    esac ;;
esac

关于linux - bash case 语句中出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55749377/

相关文章:

c - 如何更新命令行输出?

bash - 按任意键,shell 中显示超时进度

linux - linux shell中的 float 比较

regex - 使用 Regexp 提取和处理 GPU 温度信息

linux - Ubuntu Linux 的资源跟踪库?

linux - Linux 上的 setitimer 汇总?

linux - 将 netcat 与 bash 上的聊天结合起来以实现自动 udp 响应

linux - Bash 中意外标记 'elif' 附近的语法错误

bash - 打印文件中的每 n 行

python - 将代码从 vim 发送到外部应用程序以执行