关于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’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值