shell编程学习笔记--整数自增

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

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

  1. [email protected]:~# declare -i x=1
  2. [email protected]:~# x+=1
  3. [email protected]:~# echo $x
  4. 2

方式二使用let命令

  1. [email protected]:~# i=1
  2. [email protected]:~# let i+=1
  3. [email protected]:~# echo $i
  4. 2
  5. [email protected]:~# i=1
  6. [email protected]:~# let i=$i+1
  7. [email protected]:~# echo $i
  8. 2
  9. [email protected]:~# i=1
  10. [email protected]:~# let i++
  11. [email protected]:~# echo $i
  12. 2
  13. [email protected]:~# i=1
  14. [email protected]:~# let ++i
  15. [email protected]:~# echo $i
  16. 2

方式三使用(())

  1. [email protected]:~# i=1
  2. [email protected]:~# ((++i))
  3. [email protected]:~# echo $i
  4. 2
  5. [email protected]:~# i=1
  6. [email protected]:~# ((i++))
  7. [email protected]:~# echo $i
  8. 2

方式四使用expr命令

  1. [email protected]:~# i=1
  2. [email protected]:~# i=`expr $i + 1`
  3. [email protected]:~# echo $i
  4. 2
  5. [email protected]:~# i=1
  6. [email protected]:~# i=$(expr $i + 1)
  7. [email protected]:~# echo $i
  8. 2

方式五使用$(())

  1. [email protected]:~# i=1
  2. [email protected]:~# i=$(($i + 1))
  3. [email protected]:~# echo $i
  4. 2

方式六使用$[]

  1. [email protected]:~# i=1
  2. [email protected]:~# i=$[$i + 1]
  3. [email protected]:~# echo $i
  4. 2

备注:

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

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

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

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

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

时间: 2024-08-07 08:36:26

shell编程学习笔记--整数自增的相关文章

SHELL编程学习笔记

本文描述unix shell的各种应用实例,根据查阅资料和自我总结,作为自己今后复习的模板.本文搜集整理常用的shell应用实例,以例子详述unixshell部分命令的使用,着重于正则表达式以及grep.sed.awk等命令,涵盖业务开发中需要使用到的unix shell编程命令,供查阅或者自测使用,面向已经熟悉UNIX基本操作的开发人员. 注:   文中大部分表达式在sco-unixunixware 7下使用sh测试通过,有些规则或表达式不能通过测试或结果不正确,在本文档中使用波浪下划线将其标

shell编程学习笔记之特殊变量($0、$1、$2、 $?、 $# 、[email protected]、 $*)

特殊变量($0.$1.$2. $?. $# .[email protected]. $*) shell编程中有一些特殊的变量可以使用.这些变量在脚本中可以作为全局变量来使用. 名称 说明 $0 脚本名称 $1-9 脚本执行时的参数1到参数9 $? 脚本的返回值 $# 脚本执行时,输入的参数的个数 [email protected] 输入的参数的具体内容(将输入的参数作为一个多个对象,即是所有参数的一个列表) $* 输入的参数的具体内容(将输入的参数作为一个单词) [email protected

shell脚本编程学习笔记-整数二次元比较操作符

1.1 下表为常用二次元比较操作符 我们也可以通过man test查看 提示 (1) "<"符号是小于的意思,if[[ "$a"<"$b" ]], if[[ "$a"\<"$b" ]].在单括号中需要转义,因为在shell也用<和>做重定向. (2) ">"符号是大于的意思,if[[ "$a"> "$b"

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

Q:什么是Shell,什么是shell脚本? A:Shell是一种用C语言编写的程序,它是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.它是命令语言.命令解释程序及程序设计语言的统称.它的作用就是遵循一定的语法将输入的命令加以解释并传给系统. 命令解释程序:shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用.用户在提示符下输入的命令都由shell先解释然后传给Linux核心.

Linux shell 编程学习笔记--第一章

1.内核从开机自检就放在计算机内存,直到计算机关闭为止,应用程序是放在计算机硬盘的,需要时才调入内存执行. 2.shell就是应用程序,它是连接内核和用户程序的桥梁.用户登入Linux系统的时候,shell就会被调入内存执行.shell图的关系..缺 3.用户有两种方式打开shell(1)通过图形界面的方式,来操作Linux操作系统 (2)两个软件,远程登录.其中登录要输入的IP没太明白,输入谁的IP 4.脚本语言和编译型语言的区别和联系.脚本语言易学难精. 1.3.1 shell脚本的基本元素

Linux shell编程学习笔记---第三章

3.1正则表达式基础 正则表达式的主要功能是文本查询和字符串操作.实际上就是字符串过滤. 正则表达式包括普通字符和元字符,元字符主要的,见书中50页描述.特殊的正则表达式^$匹配空行. 正则表达式的扩展 bash shell中的通配,和原来的字符含义完全不一样了..对比区别 3.4grep命令,强大的文本搜索工具

Shell编程学习笔记_20160114

cat命令 显示文件 [[email protected] zsh]# cat fstab.s test1:2016 test2:2017 [[email protected] zsh]# cat fstac.s test1:2016 test2:2018 [[email protected] zsh]# cat *.s #合并文件 test1:2016 test2:2017 test1:2016 test2:2018 [[email protected] zsh]# cat *.s | sor

Linux Shell脚本编程学习笔记和实战

http://www.1987.name/141.html shell基础 终端打印.算术运算.常用变量 Linux下搜索指定目录下特定字符串并高亮显示匹配关键词 从键盘或文件中获取标准输入 [read命令] 文件的描述符和重定向 数组.关联数组和别名使用 函数的定义.执行.传参和递归函数 条件测试操作与流程控制语句 获取时间日期格式和延时 [date.sleep命令] 内部字段分隔符IFS和脚本的调试DEBUG 显示.读取或拼接文件内容 [cat命令] 文件查找与打印文件列表 [find命令]

Java并发编程学习笔记

Java编程思想,并发编程学习笔记. 一.基本的线程机制 1.定义任务:Runnable接口 线程可以驱动任务,因此需要一种描述任务的方式,这可以由Runnable接口来提供.要想定义任务,只需实现Runnable接口并编写run方法,使得该任务可以执行你的命令.   class MyTask implements Runnable {    private String mName;     public MyTask(String name) {    mName = name;   }