关于shell编程(1):let、expr

关于shell中的let的一些理解

在shell编程的过程中要实现C中的“++”操作即变量自增操作该如何做,先看下面的代码

#!/bin/bash
a=1
a=$a + 1
echo $a

输出结果为:

1 + 1

简单的说,变量赋值时,如果是单纯的数字,会当做数值赋值给变量,如果出现非数字字符,如‘+’,则整体当做字符串赋值给变量

即‘1+1’是一个整体,不会计算后赋值。

解决这个问题我这里介绍三种方式

先看这种

#!/bin/bash
a=1
a=$(($a + 1))
echo $a

 这种方式看起来怪,用起来也怪,要注意括号是两层不能少,‘+’两侧要有空格。

第二种expr

#!/bin/bash
a=1
a=`expr $a + 1`
echo $a

这种方式写法有很多要注意的地方,首先要用‘ ` ’符号包裹,就是键盘esc下面的那个键,含义是提供计算后的值。表达式内部,用 expr 命令实现算数运算,expr提供一些简单的算数运算,如加减乘除取余等。要注意的是作为符号运算的时候,‘+’左右两侧必须要有空格!

接下来就是 let

#!/bin/bash
a=1
let a=$a+1

let可以实现c中‘++’运算符的功能,只是写法更啰嗦,同时和上面的方式最大的不同是此处的‘+’左右两侧不能加空格!!!这里是整体作为一个表达式,看做一个字符串,和上面的运算‘+’不同。

注:let使用要对应在bash目录下,即上面的第一行最后是‘bash’

猜你喜欢

转载自blog.csdn.net/Leo_csdn_/article/details/81457906
今日推荐