在Shell脚本中,用于while或for循环中经常要涉及到整数自增的情况,下面罗列下可能的方式

方式一declare -i来声明整数变量

  1. root@localhost:~# declare -i x=1
  2. root@localhost:~# x+=1
  3. root@localhost:~# echo $x
  4. 2

方式二使用let命令

  1. root@localhost:~# i=1
  2. root@localhost:~# let i+=1
  3. root@localhost:~# echo $i
  4. 2
  5. root@localhost:~# i=1
  6. root@localhost:~# let i=$i+1
  7. root@localhost:~# echo $i
  8. 2
  9. root@localhost:~# i=1
  10. root@localhost:~# let i++
  11. root@localhost:~# echo $i
  12. 2
  13. root@localhost:~# i=1
  14. root@localhost:~# let ++i
  15. root@localhost:~# echo $i
  16. 2

方式三使用(())

  1. root@localhost:~# i=1
  2. root@localhost:~# ((++i))
  3. root@localhost:~# echo $i
  4. 2
  5. root@localhost:~# i=1
  6. root@localhost:~# ((i++))
  7. root@localhost:~# echo $i
  8. 2

方式四使用expr命令

  1. root@localhost:~# i=1
  2. root@localhost:~# i=`expr $i + 1`
  3. root@localhost:~# echo $i
  4. 2
  5. root@localhost:~# i=1
  6. root@localhost:~# i=$(expr $i + 1)
  7. root@localhost:~# echo $i
  8. 2

方式五使用$(())

  1. root@localhost:~# i=1
  2. root@localhost:~# i=$(($i + 1))
  3. root@localhost:~# echo $i
  4. 2

方式六使用$[]

  1. root@localhost:~# i=1
  2. root@localhost:~# i=$[$i + 1]
  3. root@localhost:~# echo $i
  4. 2

备注:

1)使用i=$(expr $i + 1)比i=`expr $i + 1`要好些

2)使用(())或者$(())速度要比expr快

3)如果不考虑速度问题,涉及到不同平台的兼容,最好使用expr

4)Bash(sh)上使用比较多的情形:let,expr,(())

本文为网络搜集,如有侵权,请告知!!!

转载于:https://www.cnblogs.com/zhuandshao/p/7222890.html

shell编程学习笔记--整数自增相关推荐

  1. SHELL编程学习笔记

    SHELL编程学习笔记 本文描述unix shell的各种应用实例,根据查阅资料和自我总结,作为自己今后复习的模板.本文搜集整理常用的shell应用实例,以例子详述unixshell部分命令的使用,着 ...

  2. 《Linux Shell编程学习笔记之一》

    <Linux Shell编程学习笔记之一> 前言 由于自己一直在Windows上面编程,用linux用的比较少,学习linux还是本科大二学的一点点知识.因此自己就准备花点时间来熟悉下li ...

  3. Linux Shell编程学习笔记(4)

    Linux Shell编程学习笔记(2015-7-20) 分类:linux shell   今天学习了Linux Shell中的控制结构.其实大多数语言的控制结构这一块都是基本类似的,有了C语言的基础 ...

  4. Linux Shell编程学习笔记(2)

    Linux Shell编程学习笔记(2015-7-12) 分类:linux shell Shell变量 一:关于Shell变量   Shell是一种弱类型的语言,变量存储的一切值都是字符串.Shell ...

  5. Linux Shell编程学习笔记(3)

    Linux Shell编程学习笔记(2015-7-19) 分类:linux shell 一:位置参数和特殊变量   什么是位置参数?   位置参数也叫位置变量,是运行shell脚本程序时,命令行she ...

  6. Linux Shell 编程学习笔记(1)

    Linux Shell编程学习笔(2015-7-11) 一:Shell程序运行的三种方法 赋予程序文件可执行权限,直接运行   比如:chmod a+x shell.sh 使用命令解释器(即shell ...

  7. Linux7.6—Shell编程 学习笔记 第四章:系统任务设置

    Linux7.6-Shell编程 第四章:系统任务设置 文章目录 Linux7.6-Shell编程 一.系统启动流程 二.系统服务 三.开机自启动服务 四.定时任务 一.系统启动流程 启动计算机的硬件 ...

  8. 大夏shell编程学习笔记(5)

    正则表达式 今天终于要开始学习我个人觉得很头疼的一部分内容了,正则表达式在我看来永远都是那些编程很厉害的高中能够玩转的,为了提高自己的逼格,我也不得不触碰一下这个比较烦人的东西,也可能是我的数学思维能 ...

  9. Linux Shell编程学习笔记一:shell简介

    Q:什么是Shell,什么是shell脚本? A:Shell是一种用C语言编写的程序,它是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作 ...

最新文章

  1. linux网络命名空间详解,Linux Network Namespace (netns) 详解
  2. 0301——SearchController
  3. C++/Qt工作笔记-static_cast在connect函数中的运用
  4. ETDM:基于显式时间差分建模的视频超分辨率(CVPR 2022)
  5. 敏捷 - #1 原则:早期和持续交付有价值的软件 (#1 Agile Principle)
  6. 华为否认鸿蒙为噱头;谷歌公布 6 大 iOS 漏洞;GitLab 又发安全补丁 | 极客头条...
  7. 线段树2 求区间最小值
  8. Android 自定义View(一)常用属性
  9. 面向对象三大特性之——封装
  10. Cow Roller Coaster
  11. Redis 复制、Sentinel的搭建和原理说明
  12. matlab数学建模题及答案,数学建模中30道经典 MATLAB程序.doc
  13. 安装Windowsxp虚拟机
  14. java find symbol,cannot find symbol
  15. android简单计算器源码
  16. 【计算机网络】谢希仁笔记 应用层
  17. java流程图都有哪些,盘点国内都有哪些免费好用的流程图设计工具
  18. 3 4j不是合法的python表达式_3+4j不是合法的Python表达式。
  19. 【CXY】JAVA基础 之 Collections
  20. 为什么卷积层不加bias

热门文章

  1. suse linux enterprise desktop iso,SUSE Linux Enterprise Desktop 10
  2. 自定义控件:等比例显示控件RatioLayout
  3. RecyclerView列表控件漂亮时间线实现
  4. C++手册_迅为干货 | C程序调用shell
  5. html文本显示_「前端开发」HTML入门与实战
  6. python3模块socket怎么安装_Python中socket模块的使用方法(一)
  7. JVM 类加载机制:编译器常量与初始化
  8. Java建造圆判断是否在园内_java – 查找一个圆圈是否在另一个圆圈内
  9. java异步调用第三方接口_Java调用第三方系统接口获取数据
  10. 基于wifi的单片机无线通信研究_SKYLAB:智能家居无线协议WiFi/BLE/Zigbee介绍与对比...