執行shell指令碼遇到錯誤syntax error: unexpected "then" (expecting "}")

來源:互聯網
上載者:User

標籤:style   blog   color   for   cti   代碼   

今天執行指令碼的時候遇到錯誤,如:

root@ApFree:/usr/sbin# ./conntrack_num_graph.sh ./conntrack_num_graph.sh: line 9: syntax error: unexpected "then" (expecting "}")root@ApFree:/usr/sbin# 

 

我就納悶了,這個指令碼幾天前是能正常執行的,今天執行怎麼會出錯,why?

cat指令碼一看如下:

#!/bin/shSITENAME="apfree"聽聽聽聽聽 # change for your sitemkdir -p /mnt/rrd #iptables -L traffic -vnxZ -t filter > /tmp/traffic.tmp# $1 = ImageFile, $2 = Time in secs to go back, $3 = RRDfile, $4 = GraphTextCreateGraph (){聽聽聽聽聽聽聽聽# only run, if no other rrdtool is running聽聽聽聽聽聽聽聽if [ -n "$(ps | grep rrdtool | grep -v grep)" ];then                        return聽聽聽聽聽聽聽聽fi聽聽聽聽聽聽聽聽聽rrdtool graph "${1}" -a PNG -s -"${2}" -w 550 -h 240 -v "" \聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽‘DEF:count=‘${3}‘:conntrack_count:AVERAGE‘ \聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽‘AREA:count#32CD32:Conntrack number‘ \聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽‘HRULE:0#000000‘ -t "${4}"}聽# build sum-graphif [ ! -e /mnt/rrd/conntrack_num.rrd ] ; then聽聽聽聽聽聽聽聽rrdtool create /mnt/rrd/conntrack_num.rrd -s 300 \聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽DS:conntrack_count:GAUGE:600:0:600000000 \聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽RRA:AVERAGE:0.5:1:600fiCONNTRACK_COUNT=`cat /proc/sys/net/netfilter/nf_conntrack_count`rrdtool update /mnt/rrd/conntrack_num.rrd N:$CONNTRACK_COUNTCreateGraph /mnt/rrd/conntrack_num.png 86400 /mnt/rrd/conntrack_num.rrd "conntrack from $SITENAME"

尼瑪,這下才明白,有亂碼!怪不得會出錯呢!

 

為什麼會有亂碼呢?哦,原來是因為我之前把這個指令碼刪除了,然後從麥庫記事本上把代碼直接copy過來重建立立的指令碼,才會出現這種情況!

 

解決辦法:把亂碼全部刪除掉,再執行,就ok了,只不過這樣真心很麻煩呀,如果看官們有更方便的辦法,還請告訴我呀。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.