当前位置:网站首页>数值变量的运算及特殊变量
数值变量的运算及特殊变量
2022-07-22 18:10:00 【LEE_九月】
数值变量的运算及特殊变量
1.简述
在Bash Shell环境中,只能进行简单的整数运算,不支持小数运算
整数值的运算主要通过内部命令expr进行
运算符与变量之间必须有至少一个空格
运算内容:加(+)、减(-)、乘(*)、除(/)、取余(%)
运算符号:$ ( ( ) ) 和 $[ ]
运算命令::expr和let
运算工具: bc(系统自带)
2.expr命令
expr命令不仅可以运算,还支持输出到屏幕
常用的几种运算符:
+:加法运算
-:减法运算
*:乘法运算,注意不能仅使用"*"符号,否则将被当成文件通配符
/:除法运算
%:求模运算,又称为取余运算,用来计算数值相除后的余数
[[email protected] ~]# expr 1+1
1+1
[[email protected] ~]# expr 1 + 1
2
#运算符之间要有空格
[[email protected] ~]# expr 2 * 2
expr: 语法错误
[[email protected] ~]# expr 2 \* 2
4
[[email protected] ~]# expr 2 '*' 2
4
#乘法 * 需要转义,也可以用单引号
[[email protected] ~]# expr $a + $b
5
[[email protected] ~]# expr $a \* $b
6
#expr不仅支持常量还支持变量的运算
[[email protected] ~]# vim test.sh
#!/bin/bash
read -p "输入第一个数字:" a
read -p "输入第二个数字:" b
sum=`expr $a + $b`
echo $sum
#求和
[[email protected] ~]# ./test.sh
输入第一个数字:5
输入第二个数字:15
20
[[email protected] ~]# ./test.sh
输入第一个数字:23
输入第二个数字:32
55
3.运算符号
$ ( () ) 和 $[ ] 必须要和echo在一起用,因为它只能运算无法输出结果
[[email protected] ~]# echo $((1+1))
2
[[email protected] ~]# echo $((2*2))
4
[[email protected] ~]# a=1
[[email protected] ~]# b=2
[[email protected] ~]# echo $((b-a))
1
[[email protected] ~]# echo $((10/8))
1
#除法只取商
$[ ] 变量的运算,可省略[ ]里的$
[[email protected] ~]# echo $[(a+b)*c]
25
4.let运算
let的运算可以改变变量本身的值,但不显示结果,需要echo,其他的运算方式可以做运算但不改变变量本身的值
[[email protected] ~]# n=1;let n=n+1;echo $n
2
[[email protected] opt]# a=2
[[email protected] opt]# let $[a++]
#表示a+1,可省略1
[[email protected] opt]# echo $a
3
#求圆的面积,Π的值取3
[[email protected] opt]# vim yuan.sh
#!/bin/bash
read -p "请输入圆的半径:" r
let r=r**2
#r**2表示r的平方
m=`expr $r \* 3`
echo "圆的面积为:$m"
[[email protected] opt]# ./yuan.sh
请输入圆的半径:5
圆的面积为:75
5.bc运算
使用bc进行运算,支持小数运算,但在脚本中不可直接使用否则会进入交互界面,可以用echo结合管道使用
[[email protected] opt]# echo "scale=3;10/3" | bc
3.333
边栏推荐
猜你喜欢

LINK : fatal error LNK1104: 无法打开文件“opencv_world340.lib”

beanshell处理json的技巧

读刘润《底层逻辑》摘录

PTP Beidou time server (satellite clock server) helps the college entrance examination information system

Software service function process

电商平台项目------“基线”功能清单

OpenGL create a new window

测试点,第一天总结

Selenium基础知识 调试方法

To create an enterprise wiki, you need to know these
随机推荐
爬取网页动态加载的评论
File类的使用,常用API及如何遍历目录及子目录
Day 3 summary & homework
Selenium基础知识 自动登录百度贴吧
关于如何在终端设置有颜色的字体
PTP Beidou time server (satellite clock server) helps the college entrance examination information system
Dom4j解析XML文件,处理来至XML的数据信息
来访人员基本流程
E-commerce platform project - "baseline" function list
Basic process of unit approval
Jmeter正则表达式提取器
To create an enterprise wiki, you need to know these
Garbled JS file
用jmeter对抽奖接口进行抽奖概率分析测试
Math。round,数值取整底层代码解析
selenium使用
Contains方法,查看序列中是否包含某个元素
移动应用分类
web端接口数据一键复制导入postman
Optional一致性