刚学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
这中方法只能应用于 --   其余的没法执行。
 

随机推荐

  1. Java中的比较总结

    Java中的比较问题是一个很基础又很容易混淆的问题.今天就几个容易出错的点作一个比较详细的归纳与整理,希望对大家的学习与面试有帮助. 一.==与equals()的区别 首先,我们需要知道==与equa ...

  2. Bzoj 4950

    Description 那是春日里一个天气晴朗的好日子,你准备去见见你的老朋友Patrick,也是你之前的犯罪同伙.Patrick在编程竞赛上豪赌输掉了一大笔钱,所以他需要再干一票.为此他需要你的帮助 ...

  3. 【机器学习】RNN学习

    感谢中国人民大学的胡鹤老师,课程容量巨大,收获颇丰. 之前提到的CNN模型主要用到人类的视觉中枢,但其有一劣势,无论是人类的视觉神经还是听觉神经,所接受到的都是一个连续的序列,使用CNN相当于割裂了前 ...

  4. APP端的网络优化(DNS优化,HTTP优化)

    一.使用httpDNS优化DNS解析和缓存 一般来说在App内用域名发送请求都要经过DNS解析出ip,然后再根据ip去拿对应的资源,这个过程中,如果LocalDNS中存在这个域名对应的ip,就会直接返 ...

  5. hdu3015 Disharmony Trees

    Problem Description One day Sophia finds a very big square. There are n trees in the square. They ar ...

  6. Android实战简易教程-第三十四枪(基于ViewPager和FragmentPagerAdapter实现滑动通用Tab)

    上一段时间写过一篇文章<基于ViewPager实现微信页面切换效果> 里面实现了相似微信Tab的页面.可是这样的实现方法有个问题.就是以后全部的代码逻辑都必须在MainActivity中实 ...

  7. Android之使用MediaMetadataRetriever类获取媒体信息

    一.昨天.介绍了使用MediaMetadataRetriever类来获取视频第一帧:http://blog.csdn.net/u012561176/article/details/47858099,今 ...

  8. 自学Zabbix2.6-zabbix升级

    如果你从zabbix 1.6升级到1.8或者zabbix 1.8升级到zbbix 2.0,那么你需要额外执行sql文件(path.sql): 但是在2.0之后这些步骤都不需要手动做,如果你的版本很低, ...

  9. 微信小程序路过

    应该算是入门篇, 从我怎么0基础然后沿着什么方向走,遇到的什么坑,如何方向解决,不过本人接触不是很多,所以也就了解有限. 小程序的前提: 1.小程序大小不允许超过2M.(也就是本地图片,大图精图不要在 ...

  10. redis基础二

    前面已经学习了redis的基本的命令行操作和数据类型,下面开始redis一些有趣的功能. 订阅和发布机制 定义:发布者相当于电台,订阅者相当于客户端,客户端发到频道的消息,将会被推送到所有订阅此频道的 ...