刚学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. 深度解剖sesssion运行原理

    已经大半年没有更新博客了,一方面有比博客更重要的事情要做,另外一方面也没有时间来整理知识,所以希望在接下来的日子里面能够多多的写博客来与大家交流 什么是session session的官方定义是:Se ...

  2. SharePoint 2010 Url Shortener --SharePoint 2010 短URL生成器

    SharePoint 2010 Url Shortener --SharePoint 2010 短URL生成器 项目描写叙述 本项目加入了这种功能.在SP站点中能够生成短URLs. 这些URLs指向列 ...

  3. HDoj-1042 大数阶乘

    N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  4. HDU 3569 Imaginary Date 简单期望

    推一下公式.就会发现是这个.. 由于设结果有x种方案.则每一个数字出现的概率都均等,然后和就是x*m 每种方案的概率是1/x 每一个数出现的概率都是1/n 所以每一个方案的和就是 sum/n *m # ...

  5. SAP ABAP编程 Table Control动态隐藏列

    在SAP DIALOG设计中,有时候须要动态的隐藏某些列,以下是方法. ***数据定义 CONTROLS: table_control TYPE TABLEVIEW USING SCREEN 0100 ...

  6. poj:4091:The Closest M Points

    poj:4091:The Closest M Points 题目 描写叙述 每到饭点,就又到了一日几度的小L纠结去哪吃饭的时候了.由于有太多太多好吃的地方能够去吃,而小L又比較懒不想走太远,所以小L会 ...

  7. webpack+babel+transform-runtime, IE下提示Promise未定义?

    知识要求 babel的基础知识(推荐阮一峰的babel入门教程) 充分理解babel-plugin-transform-runtime与babel-runtime的作用(推荐github项目首页) w ...

  8. 使用Logstash来实时同步MySQL数据到ES

    上篇讲到了ES和Head插件的环境搭建和配置,也简单模拟了数据作测试 本篇我们来实战从MYSQL里直接同步数据 一.首先下载和你的ES对应的logstash版本,本篇我们使用的都是6.1.1 下载后使 ...

  9. python中的subprocess.Popen()使用

    python中的subprocess.Popen()使用 从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回 ...

  10. SVN 安装与使用教程总结

    转载:http://www.cnblogs.com/armyfai/p/3985660.html SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需 ...