Linux算术运算

let方法:

[student@myhost ~]$ a=1
[student@myhost ~]$ b=3
[student@myhost ~]$ let c=a+b       #c前不用加$
[student@myhost ~]$ echo $c
4

[student@myhost ~]$ let a++
[student@myhost ~]$ echo $a
2

[student@myhost ~]$ let a+=3
[student@myhost ~]$ echo $a
5

[ ]方法:

[student@myhost ~]$ echo $a
2
[student@myhost ~]$ echo $b
3
[student@myhost ~]$ c=$[a+b]
[student@myhost ~]$ echo $c
5
[student@myhost ~]$ c=$[a+3]
[student@myhost ~]$ echo $c
5
[student@myhost ~]$ c=$[$a+3]
[student@myhost ~]$ echo $c
5

(( ))方法:

[student@myhost ~]$ echo $a
2
[student@myhost ~]$ echo $b
3
[student@myhost ~]$ c=$((a+b))
[student@myhost ~]$ echo $c
5
[student@myhost ~]$ c=$((a+3))
[student@myhost ~]$ echo $c
5
[student@myhost ~]$ c=$(($a+3))
[student@myhost ~]$ echo $c
5

expr方法:

[student@myhost ~]$ echo $a
2
[student@myhost ~]$ echo $b
3

[student@myhost ~]$ c=`expr 1+2`
[student@myhost ~]$ echo $c
1+2
[student@myhost ~]$ c=`expr 1 + 2`
[student@myhost ~]$ echo $c
3

[student@myhost ~]$ c=`expr $a + $b`
[student@myhost ~]$ echo $c
5

[student@myhost ~]$ c=$(expr $a+$b)
[student@myhost ~]$ echo $c
2+3
[student@myhost ~]$ c=(expr $a + $b)
[student@myhost ~]$ echo $c
expr
[student@myhost ~]$ c=$(expr $a + $b)
[student@myhost ~]$ echo $c
5

以上方法仅支持整数运算。
bc方法(支持浮点数):

[student@myhost ~]$ echo "5*1.3"|bc
6.5
[student@myhost ~]$ a=4
[student@myhost ~]$ echo "$a*1.5"|bc
6.0

[student@myhost ~]$ echo "scale=2;3/8"|bc    #scale规定小数位,用分号隔开算式,传给bc
.37

[student@myhost ~]$ echo "obase=2;$a"|bc     #obase代表输出进制,输入进制默认10,用分号隔开数字,传给bc
100
[student@myhost ~]$ a=100
[student@myhost ~]$ echo "obase=10;ibase=2;$a" | bc   #ibase代表输入进制
4

[student@myhost ~]$ echo "sqrt(99)" | bc    #开方,输出为整数
9
[student@myhost ~]$ echo "9^2" | bc         #乘方
81

posted @   epiphanyy  阅读(17)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2020-06-02 TCP/IP详解 卷1:协议 学习笔记 第一章 概述
2020-06-02 剑指offer 学习笔记 求1+2+...+n
2020-06-02 LeetCode LCP 01. 猜数字
2020-06-02 LeetCode 面试题 02.03. 删除中间节点
点击右上角即可分享
微信分享提示