刚学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. python通过webservice接口实现配置下发

    项目上要开发一个小工具,通过webservice接口实现配置下发,考虑到python的第三方库对soap的良好支持,果断决定用python来完成这一使命. Python的支持webservice的第三 ...

  2. 树的平衡 AVL Tree

    本篇随笔主要从以下三个方面介绍树的平衡: 1):BST不平衡问题 2):BST 旋转 3):AVL Tree 一:BST不平衡问题的解析 之前有提过普通BST的一些一些缺点,例如BST的高度是介于lg ...

  3. 【Keras】从两个实际任务掌握图像分类

    我们一般用深度学习做图片分类的入门教材都是MNIST或者CIFAR-10,因为数据都是别人准备好的,有的甚至是一个函数就把所有数据都load进来了,所以跑起来都很简单,但是跑完了,好像自己还没掌握图片 ...

  4. dock使用方法

    Docker 是一个开源项目,为开发者和系统管理员提供了一个开放的平台,在任何地方通过打包和运行应用程序作为一个轻量级的容器.Docker 在软件容器内自动部署应用程序.Docker 最开始由 Sol ...

  5. webpack入门之打包html,css,js,img(一)

    webpack到底是什么,网上一大堆介绍的东西,越看越不知道说的什么,所以今天打算自己来记录一下这段时间学习webpack的成果, webpack就是打包文件用的,html,css,js,img,为什 ...

  6. 使用questionsModel.values()后不能获取模型中的属性对应的外键属性值的解决方式

    class QuestionsModel(models.Model): author = models.ForeignKey(FrontUserModel,null=True) content = m ...

  7. elasticsearch 学习笔记

    基本概念 集群和节点的概念1.集群是由节点组成的2.每个集群都有唯一的名字默认是elasticsearch3.cluster.name: niubiwali //集群的名字很重要因为每个节点只是集群的 ...

  8. 优化Webpack构建性能的几点建议

    Webpack 作为目前最流行的前端构建工具之一,在 vue/react 等 Framework 的生态圈中都占据重要地位.在开发现代 Web 应用的过程中,Webpack 和我们的开发过程和发布过程 ...

  9. urllib2的基本使用

    urlopen 1 import urllib2 2 3 # 向指定的url发送请求,并返回服务器响应的类文件对象 4 response = urllib2.urlopen("http:// ...

  10. NanUI文档 - 打包并使用内嵌式的HTML/CSS/JS资源

    NanUI文档目录 NanUI简介 开始使用NanUI 打包并使用内嵌式的HTML/CSS/JS资源 使用网页来设计整个窗口 如何实现C#与Javascript相互掉用(待更新...) 如何处理Nan ...