刚学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. The requested URL / was not found on this server——Apache配置虚拟域名后无法访问localhost

    今天为了做项目,在Apache中配置了项目域名,成功访问.但是忽然发现要访问localhost突然出现The requested URL / was not found on this server. ...

  2. 采用Opserver来监控你的ASP.NET项目系列(一、Opserver监控的简介与平台搭建)

    前言 之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看. 今天我们主要来讲讲如何监控我们的ASP.NET项目. 首先我们来介绍一下,什么是Opserver,它是Stack ...

  3. JavaScript学习笔记(十六)——面向对象编程

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  4. day9、用户登陆出现-bash-4.1$错误的原因及解决方法

    原因:用户家目录里面与环境变量有关的文件被删除所导致的 下面两个文件被删除导致的 .bash_profile .bashrc 解决方法:从/etc/skel把丢失的文件 复制回来就可以了 -bash- ...

  5. PHP中的会话控制

    了解HTTP(超文本传输协议)可以知道,它采用请求与响应的模式,最大的特点就是无连接无状态. 无连接:每次连接仅处理一个客户端的请求,得到服务器响应后,连接就结束了 无状态:每个请求都是独立的,服务器 ...

  6. 谷哥的小弟学前端(11)——JavaScript基础知识(2)

    探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 具体解释Android主流框架不可或缺的基石 站在源代码的肩膀上全解Scroller工作机制 Android多分辨率适 ...

  7. 游戏AI-行为树理论及实现

    从上古卷轴中形形色色的人物,到NBA2K中挥洒汗水的球员,从使命召唤中诡计多端的敌人,到刺客信条中栩栩如生的人群.游戏AI几乎存在于游戏中的每个角落,默默构建出一个令人神往的庞大游戏世界. 那么这些复 ...

  8. 如何处理使用js兼容所有浏览器的问题

    首先:如何处理兼容问题 1.如果两个都是属性,用逻辑||做兼容 2.如果有一个是方法,用三元做兼容 3.如果是多个属性或方法,封装函数做兼容 分享两个小知识点: 1.取消拖拽的默认行为: docume ...

  9. MVC(二)

    一: 在新接触MVC的时候可以先使用VS建一个MVC项目(不是空项目哟),MVC特别人性化的建一个示例,展示了MVC项目的基本组成.如下: App_Data 数据库文件,需根据数据库变动而变更. Ap ...

  10. 「mysql优化专题」什么是慢查询?如何通过慢查询日志优化?(10)

    日志就跟人们写的日记一样,记录着过往的事情.但是人的日记是主观的(记自己想记的内容),而数据库的日志是客观的,根据记录内容分为以下好几种日志(技术文): a.错误日志:记录启动.运行或停止mysqld ...