c=$[$c%5]到let c=$c%5的转换

刚学shell不知道怎么转换,现在明白了一点点 ,记录下

 
变成加法就好明白了
 
 
  1. 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
同样的 在+ - * / %都通用
 
关于++值问题
  1. 代码如下
    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
这中方法只能应用于 --   其余的没法执行。
 
原文地址:https://www.cnblogs.com/cishi/p/cf1feb0b3db63fb8f07aacd0afbe533a.html