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

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

1.简述

在Bash Shell环境中,只能进行简单的整数运算,不支持小数运算

整数值的运算主要通过内部命令expr进行

运算符与变量之间必须有至少一个空格

运算内容:加(+)、减(-)、乘(*)、除(/)、取余(%)

运算符号:$ ( ( ) ) 和 $[ ]

运算命令::expr和let

运算工具: bc(系统自带)

2.expr命令

expr命令不仅可以运算,还支持输出到屏幕

常用的几种运算符:

+:加法运算

-:减法运算

*:乘法运算,注意不能仅使用"*"符号,否则将被当成文件通配符

/:除法运算

%:求模运算,又称为取余运算,用来计算数值相除后的余数

[root@localhost ~]# expr 1+1
1+1
[root@localhost ~]# expr 1 + 1
2
#运算符之间要有空格
[root@localhost ~]# expr 2 * 2
expr: 语法错误
[root@localhost ~]# expr 2 \* 2
4
[root@localhost ~]# expr 2 '*' 2
4
#乘法 * 需要转义,也可以用单引号
[root@localhost ~]# expr $a + $b
5
[root@localhost ~]# expr $a \* $b
6
#expr不仅支持常量还支持变量的运算
[root@localhost ~]# vim test.sh
#!/bin/bash
read -p "输入第一个数字:" a
read -p "输入第二个数字:" b
sum=`expr $a + $b`
echo $sum
#求和
[root@localhost ~]# ./test.sh
输入第一个数字:5
输入第二个数字:15
20
[root@localhost ~]# ./test.sh
输入第一个数字:23
输入第二个数字:32
55

3.运算符号

$ ( () ) 和 $[ ] 必须要和echo在一起用,因为它只能运算无法输出结果

[root@localhost ~]# echo $((1+1))
2
[root@localhost ~]# echo $((2*2))
4
[root@localhost ~]# a=1
[root@localhost ~]# b=2
[root@localhost ~]# echo $((b-a))
1
[root@localhost ~]# echo $((10/8))
1
#除法只取商
$[ ] 变量的运算,可省略[ ]里的$
[root@localhost ~]# echo $[(a+b)*c]
25

4.let运算

let的运算可以改变变量本身的值,但不显示结果,需要echo,其他的运算方式可以做运算但不改变变量本身的值

[root@localhost ~]# n=1;let n=n+1;echo $n
2
[root@localhost opt]# a=2
[root@localhost opt]# let $[a++]
#表示a+1,可省略1
[root@localhost opt]# echo $a
3
#求圆的面积,Π的值取3
[root@localhost opt]# vim yuan.sh
#!/bin/bash
read -p "请输入圆的半径:" r
let r=r**2
#r**2表示r的平方
m=`expr $r \* 3`
echo "圆的面积为:$m"
[root@localhost opt]# ./yuan.sh
请输入圆的半径:5
圆的面积为:75

5.bc运算

使用bc进行运算,支持小数运算,但在脚本中不可直接使用否则会进入交互界面,可以用echo结合管道使用

[root@localhost opt]# echo "scale=3;10/3" | bc
3.333
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值