当前位置:网站首页>数值变量的运算及特殊变量

数值变量的运算及特殊变量

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
原网站

版权声明
本文为[LEE_九月]所创,转载请带上原文链接,感谢
https://blog.csdn.net/liwenbin19920922/article/details/125449690