2012-06-12 88 views
2

我有很多运气我最后一次提交了问题所以这里有云:我想调试时,我得到了下面的错误有点大bash脚本:如何修复bash脚本中意外的文件结尾?

./test.sh: line 418: unexpected EOF while looking for matching `"' 
./test.sh: line 427: syntax error: unexpected end of file 

下面的代码开始于行400:

echo "###########################################################" 
    echo 
;; 
4) 
    culebra_carriers 
    get_month 
    get_day 
    logs_cdrs 
    logs_wap 
    get_mdn 

    echo 
    echo "###########################################################" 
    echo 
    echo "Searching for activity of $mobileNumber on $MON $DAY......." 
    echo 
    zgrep $mobileNumber $HOME/culebrapeak/$LOGCDR/$CULEB/$MON/$WAPLOG 
    echo 
    echo "###########################################################" 
    echo 
;; 
esac 
done 
} 

clear 
main_menu 

如何让此错误消失?看起来我在所有正确的地方都有双引号......但这只是我的第4或第5个bash脚本...所以请对我轻松一点。

+6

你引用的部分看起来是正确的 - 在文件的早期机会是缺少的报价。不匹配的引号往往会导致错误,而这些错误不一定在接近发生的位置被发现。 – twalberg

+2

问题出在您发布的代码之上。寻找不匹配的引号。并引用你的变量。并使用更多的缩进。 –

+0

感谢@twalberg和dennis williamson的努力。我的vi编辑器拥有色彩鲜明的部分,并且通常在出现像这样的小错误时颜色不再起作用。现在开始在我的草垛中寻找针...抱歉丹尼斯,这个网站不会让我对你大喊...... – Paul

回答

2

我确实在我的脚本顶部缺少双引号。感谢所有人的帮助!

+0

你在这里犯了一个错误,提交你自己的答案,然后接受它为“the “答案......安东尼给了你一个很好的答案。 (你可能不熟悉StackOverFlow规则,但是如果你接受了他的答案,安东尼应得到应有的信任/谢谢) –

1

解决此类问题的好方法是使用文本编辑器来突出显示引号之间的代码。简而言之,如果文本编辑器的“查找”功能也提供了计数,则可以使用它来定量检测开始/结束字符对称性问题。从查找功能突出显示将帮助你的眼睛颤抖。