標籤:style http ar color sp for on div 問題
剛學shell不知道怎麼轉換,現在明白了一點點 ,記錄下
變成加法就好明白了
c=$[$c+5]
let c=$c+5 變數c等於C加上5後在賦值給自身
let c+=5 就可以這樣表示了
例如:
指令碼代碼如下
declare -i SUM=0
for ((J=2;J<=100;J+=2));do
let SUM+=$J
echo $SUM
done
echo $SUM
執行結果如下:
+ declare -i SUM=0
+ (( J=2 )) #首先賦值J=2
+ (( J<=100 )) #J小於100就繼續執行
+ let SUM+=2 #計算SUM的值,SUM+=變數J,J此時等於2,變數SUM等於SUM加上2後在賦值給自身
+ echo 2
2 #此時SUM等於2
+ (( J+=2 )) #現在J=2了,然後J+2後在往自身賦值,就變成4了
+ (( J<=100 )) #J小於100就繼續執行
+ let SUM+=4 #SUM經過上輪計算現在等於2,SUM+4後在往自身賦值就變成6了
+ echo 6
6 #此時SUM等於6
+ (( J+=2 )) #現在J=4了,然後J+2後在往自身賦值,就變成6了
+ (( J<=100 )) #J小於100就繼續執行
+ let SUM+=6 #SUM經過上輪計算現在等於6,SUM+6後在往自身賦值就變成12了
+ echo 12
12 #最終顯示12
同樣的 在+ - * / %都通用
關於++值問題
代碼如下
declare -i SUM=0
for ((J=2;J<=100;J++));do
let SUM+=$J
echo $SUM
done
echo $SUM
案例如下
+ declare -i SUM=0
+ (( J=2 ))
#首先賦值J=2
+ (( J<=100 ))
#J小於100就繼續執行
+ let SUM+=2
#計算SUM的值,SUM+=變數J,J此時等於2,變數SUM等於SUM加上2後在賦值給自身
+ echo 2
2
#此時SUM等於2
+ (( J++ ))
#現在J=2了,然後J++後在往自身賦值,也就是往自身上加1,就變成3了
+ (( J<=100 ))
#J小於100就繼續執行
+ let SUM+=3
#SUM經過上輪計算現在等於2,SUM+3後在往自身賦值就變成5了
+ echo 5
5
#此時SUM等於5
+ (( J++ ))
#現在J=3了,然後J++後在往自身賦值,也就是往自身上加1,就變成4了
+ (( J<=100 ))
#J小於100就繼續執行
+ let SUM+=4
#SUM經過上輪計算現在等於2,SUM+4後在往自身賦值就變成9了
+ echo 9
9
#此時SUM等於5
+ (( J++ ))
#現在J=4了,然後J++後在往自身賦值,也就是往自身上加1,就變成5了
+ (( J<=100 ))
#J小於100就繼續執行
+ let SUM+=5
#SUM經過上輪計算現在等於9,SUM+5後在往自身賦值就變成14了
+ echo 14
14
#此時SUM等於14
這中方法只能應用於 -- 其餘的沒法執行。
來自為知筆記(Wiz)
c=$[$c%5]到let c=$c%5的轉換