bash script 中變數跟字面常數相加的問題 - Linux

Table of Contents

hi,大家

m=`grep -n %BLOCK\ SPECIES_POT ${JOB}.cell | sed 's/:%BLOCK\ SPECIES_POT/ /g'`
n=`grep -n %ENDBLOCK\ SPECIES_POT ${JOB}.cell | sed 's/:%ENDBLOCK\ SPECIES_POT/
/g'`

POTpos=$(($m+1))

echo $m
echo $n
echo $POTpos

如上, 我用 grep 從某個檔案的找出特定 pattern 所在的行數,
然後存在 m 跟 n
接下來我要把 m + 1, 所以我就用了 POTpos=$(($m+1))
可是 echo 出來的值卻是空的

鳥哥的網頁上有一種方式是要把 m= 那行加上 declare -i m= , n= 那行也是一樣..
不過我加了之後會出現
")syntax error: operand expected (error token is "
")syntax error: operand expected (error token is "

不曉得各位前輩有什麼提示?
謝謝...

----
ps: bash 的版本是 3.0

--

All Comments

Sierra Rose avatarSierra Rose2008-05-18
你應該要拿掉後面那個 $ 吧 錢太多是沒有用的
Emma avatarEmma2008-05-20
謝謝您, 但是改成 POTpos=$((m+10)) 還是沒用
Victoria avatarVictoria2008-05-23
後面那個錢也不需要吧