首页 > 代码库 > c=$[$c%5]到let c=$c%5的转换

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

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

变成加法就好明白了


  1. c=$[$c+5]
  2. let c=$c+5 变量c等于C加上5后在赋值给自身
  3. let c+=5 就可以这样表示了
  4. 例如:
  5. 脚本代码如下
  6. declare -i SUM=0
  7. for ((J=2;J<=100;J+=2));do
  8. let SUM+=$J
  9. echo $SUM
  10. done
  11. echo $SUM
  12. 执行结果如下:
  13. + declare -i SUM=0
  14. + (( J=2 )) #首先赋值J=2
  15. + (( J<=100 )) #J小于100就继续执行
  16. + let SUM+=2 #计算SUM的值,SUM+=变量J,J此时等于2,变量SUM等于SUM加上2后在赋值给自身
  17. + echo 2
  18. 2 #此时SUM等于2
  19. + (( J+=2 )) #现在J=2了,然后J+2后在往自身赋值,就变成4了
  20. + (( J<=100 )) #J小于100就继续执行
  21. + let SUM+=4 #SUM经过上轮计算现在等于2,SUM+4后在往自身赋值就变成6了
  22. + echo 6
  23. 6 #此时SUM等于6
  24. + (( J+=2 )) #现在J=4了,然后J+2后在往自身赋值,就变成6了
  25. + (( J<=100 )) #J小于100就继续执行
  26. + let SUM+=6 #SUM经过上轮计算现在等于6,SUM+6后在往自身赋值就变成12了
  27. + echo 12
  28. 12 #最终显示12
同样的 在+ - * / %都通用

关于++值问题
  1. 代码如下
  2. declare -i SUM=0
  3. for ((J=2;J<=100;J++));do
  4. let SUM+=$J
  5. echo $SUM
  6. done
  7. echo $SUM
  8. 事例如下
  9. + declare -i SUM=0
  10. + (( J=2 )) #首先赋值J=2
  11. + (( J<=100 )) #J小于100就继续执行
  12. + let SUM+=2 #计算SUM的值,SUM+=变量J,J此时等于2,变量SUM等于SUM加上2后在赋值给自身
  13. + echo 2
  14. 2 #此时SUM等于2
  15. + (( J++ )) #现在J=2了,然后J++后在往自身赋值,也就是往自身上加1,就变成3了
  16. + (( J<=100 )) #J小于100就继续执行
  17. + let SUM+=3 #SUM经过上轮计算现在等于2,SUM+3后在往自身赋值就变成5了
  18. + echo 5
  19. 5 #此时SUM等于5
  20. + (( J++ )) #现在J=3了,然后J++后在往自身赋值,也就是往自身上加1,就变成4了
  21. + (( J<=100 )) #J小于100就继续执行
  22. + let SUM+=4 #SUM经过上轮计算现在等于2,SUM+4后在往自身赋值就变成9了
  23. + echo 9
  24. 9 #此时SUM等于5
  25. + (( J++ )) #现在J=4了,然后J++后在往自身赋值,也就是往自身上加1,就变成5了
  26. + (( J<=100 )) #J小于100就继续执行
  27. + let SUM+=5 #SUM经过上轮计算现在等于9,SUM+5后在往自身赋值就变成14了
  28. + echo 14
  29. 14 #此时SUM等于14
这中方法只能应用于 --   其余的没法执行。




来自为知笔记(Wiz)


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