linux shell let, expr 命令详解
2024-10-08 11:01:36
linux命令之let、expr
shell程序中的操作默认都是字符串操作,在运行数学运算符的时候可能得到意想不到的答案:
var=1
var=$var+1
echo $var
将输出 1+1
从这个例子中可以看出shell字符串连接的操作
let 命令
let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量。
运算符间不能有空格,如果表达式中包含了空格或其他特殊字符,则必须引起来。
var=1
let "var+=1" # 或 let var+=1 这种写法运算符间不能有空格
echo $var
output:
2
let可以用(())代替,let ″j=i*6+2″等价于((j=i*6+2))
expr命令
将需要运算的表达式写入在expr 后面,保证参数与运算符号中间有空格隔开。
var=1
var=`expr $var + 1` #如果没有空格,即var=`expr $var+1` 则输出为1+1
echo $var
output:
2
下面为一个具体的例子:
[root@localhost ~]# cat let.sh
#!/bin/bash
a=4
b=5
let c=a+b
echo $c
let "f = b + c"
echo $f
((d=a+c))
echo $d
e=`expr $a + $d`
echo $e
[root@localhost ~]# bash let.sh
9
14
13
17
最新文章
- MySQL基础学习(一) 命令行命令
- 键盘上各键对应的ASCII码与扫描码
- 【JNI】OPUS压缩与解压的JNI调用(.DLL版本)
- java 字符串String操作工具类
- 在MAC中安装Compass的方法 (转)
- client denied by server configuration
- SpringMVC 自定义拦截资料
- [T]各种字符串Hash函数比较
- Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format.
- Yii2.0修改默认控制器
- React之组件通信
- spring boot 2.0 集成 shiro 和 pac4j cas单点登录
- 两步验证杀手锏:Java 接入 Google 身份验证器实战
- Django+Xadmin打造在线教育系统(九)
- CSS基础以及属性
- java内存配置举例
- 【UOJ#275】组合数问题(卢卡斯定理,动态规划)
- 【python017--函数对象1】
- mysql中if()函数使用
- 如果忘记了mysql密码怎么办?
热门文章
- springBoot 发送邮件图片不显示
- Selenium3+python自动化012-测试用例模块化
- Github中进行fork后,原仓库更新了如何与原仓库同步
- join方法,wait()和sleep()
- python:删除文件及文件夹
- 《NVMe-over-Fabrics-1_0a-2018.07.23-Ratified》阅读笔记(4)-- Controller Architecture
- 题解 【洛谷P1115】最大子段和
- 训练20191005 2017-2018 ACM-ICPC Asia East Continent League Final
- vga显示原理即相关计算
- String类中的equals方法总结(转载)