【问题标题】:BASH Linux : syntax error « ;; »BASH Linux:语法错误 « ;; »
【发布时间】:2014-10-08 03:26:51
【问题描述】:

我有一个语法错误 « ;; »

Syntax error near unexpected token « ;; »

我的代码

#!/bin/bash
# Bash Menu

clear

echo "Decryptor"

PS3='entrez votre chois: '
options=("update" "decryptor" "Quit")
select opt in "${options[@]}"
do
    case $opt in
        "update")
            php updatekey.php
            break
            ;;
        "decryptor")
           #Nom de la video
           read -p "Nom de la série  : " name
           #detection du fichier .png
           find . -name "*.png" | while read line
           oname="$(basename "${line}" .png)"
           #décryption du fichier png
           php -e AES.class.php "${oname}".png
           #on change le nom du fichier
           mv "${oname}".ass "${name}".ass

           read -p "voulez vous télécharger la video (Y/N)? "
           [ "$(echo $REPLY | tr [:upper:] [:lower:])" == "y" ] || exit

           read -p "entrez liens   :" src
           read -p "liens vod" vod

           rtmpdump -v -T '567ghgh' -r "$vod" -a "vod" -f "WIN 13,0,0,182" -W "http://yoyo.com/components/yoyo.swf" -p  "http://yoyo.com" -y "mp4:$src" -o "$name.mp4"
             break
            ;;
        "Quit")
            break
            ;;
        *) echo invalid option;;
    esac
done

是错误代码的一部分 为什么我得到一个错误我稍微修改了脚本,这部分不能移动,我现在有一个错误

可能是什么原因

谢谢你:)

【问题讨论】:

  • 您需要向我们展示上面的代码部分,以case开头。
  • 此代码不够完整,无法重现该错误。测试给定的一段代码在单独使用时会产生您报告的确切错误,然后再将其发布到问题中。 (去掉重现错误所需的不需要的代码片段会更好)。
  • 我给你我的完整代码
  • [ $(echo $REPLY | ... 部分非常复杂。 case $REPLY in [yY]) ;; *) exit ;; esac 在语法上并不简单,但避免了不带引号的字符串扩展和外部进程。

标签: linux bash shell syntax


【解决方案1】:

第 21 行包含不完整 while 语句的开头。解析器只注意到,因为;; 在它仍在寻找do 时是非法的。

find stuff | while read line
    echo you can have multiple commands here --
    echo the exit code of the expression is
    echo examined by '"while"'
do
    echo ... Body of while loop
done

您的代码缺少 dodone 部分,Bash(和我们)不清楚它们应该去哪里。

【讨论】:

    猜你喜欢
    • 2016-11-09
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多