2012-12-30 56 views
1

輸入:1 - > 2- 如何獲得的最後一個元素在管線

while read -a line; do 

    if ((line[2] < 1)); then 
    echo "Graph does not match known sites3" 
    exit 
    fi 

done < "$2" 

錯誤

syntax error: invalid arithmetic operator (error token is "") 

出於某種原因,線[2]不被視爲數字2。 .. 我該如何解決這個問題?

+1

無法重現你的問題。你能否將確切的輸入更清晰? – Mat

+0

打開shell調試以查看您的條件處理,即'set -vx'。祝你好運。 – shellter

+0

謝謝大家... – Christine

回答

3

要獲得最後一個數組元素:

$ x=(a z e r t y) 
$ echo ${x[-1]} 
y 
+0

嘿....我認爲那會工作..但我有另一個問題,阻止我得到這個更正你的回答建議... – Christine

+0

輸入:4 a.bcd 我是要意識到這是一個非法line..cause有 第一個數字和字符串之間的2個空格..... 僅1空間被認爲是合法的 現在...我的問題是,當我使用的程序:'回聲「$ line」|切斷-d「」-f2「 忽略兩個空格並將它們當作一個... 該怎麼辦? while read line;做 webName ='echo「$ line」|切-d」「-f2' 如果[[ 」$網站名稱「=〜^ [A-ZA-Z0-9] * $]。];然後 \t繼續; \t其他 \t回聲「非法網站名單」 \t退出 網絡 – Christine

相關問題