shell 下 declare指令為文字或數字 $ unset k ; k=1 =====> 為文字字串 1 $ echo $((k+=2)) ===> 為暫時性將 文字字串1 轉化為數字 k=k+2 得值 為k=3 但最後為文字 $ echo $k+2 ==> 3+2 $ k=$k+2 ===>錯誤 $ i=$i+2 ===>正確 ,i 為另外的數字變數 $ if $((k+=2)) >3 則成立 因為是在數字狀態下比對 注意在 sed , awk 變數符號規則和以上不同 [LSO 在 2007-8-22 06:57 PM 作了最後編輯]