[問題] bash script 中變數跟字面常數相加的問題

看板Linux作者 (aa)時間16年前 (2008/05/15 10:18), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/3 (看更多)
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 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.111.50

05/15 10:30, , 1F
你應該要拿掉後面那個 $ 吧 錢太多是沒有用的
05/15 10:30, 1F

05/15 10:55, , 2F
謝謝您, 但是改成 POTpos=$((m+10)) 還是沒用
05/15 10:55, 2F

05/15 14:17, , 3F
後面那個錢也不需要吧
05/15 14:17, 3F
文章代碼(AID): #18Avrhhz (Linux)
文章代碼(AID): #18Avrhhz (Linux)