shell编程中两个非整数变量如何做加减乘除运算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程中两个非整数变量如何做加减乘除运算相关的知识,希望对你有一定的参考价值。

如果是整数当然好办,用expr即可。但如果是小数咋办?
如果通过bc,能否给出详细的写法呢。比如有两个变量NewVal、OldVal,如何对这两个变量做减法?

假设有两个参数,$1和$2
max=0
if
[
"$1"
-ge
"$2"
]
then
max="$1"
else
max="$2"
fi
比较操作:
-ge
大于等于
-gt
大于
-eq
相等
-lt
小于
-ne
不相等
如果循环比较的话,
试试这样:
max=0
for
args
in
$*
do
if
[
"$max"
-lt
"$args"
]
then
max="$args"
fi
done
这里假设数字都是通过参数传递过来,
用max逐个跟参数比较,得出最大的.
参考技术A 你可以试试这样:
x=$(($a+$b))
参考技术B NewVal=3.3
OldVal=1.2
echo "$NewVal-$OldVal" | bc

结果为2.1本回答被提问者采纳
参考技术C shell编程,没学过,抱歉,我只会pascal
万分抱歉!!!!
参考技术D 通过bc 还有一些其它方法也可以达到
---------------------------补充-------------------------
下面的朋友已经给出写法了
另外还可以使用awk
具体用法你可以百度,google 都比较容易的

115-数学运算符 加减乘除求余

表达式:把变量和字面值和运算符组合起来就是表达式

运算符的分类
一元运算符 处理一个操作数
二元运算符 处理两个操作数
三元运算符 处理三个操作数

数学运算符

技术分享图片

除,两个整数相除仍是整数,不能整除则略去小数
取余,小数也可以取余,符号决定于被除数

最后的两个单独的+和-相当于正负
数学运算符只能处理数字,除了字符串相加
char可以用来做数学运算,因为char变量在内存中实际存储的是数字

 







以上是关于shell编程中两个非整数变量如何做加减乘除运算的主要内容,如果未能解决你的问题,请参考以下文章

不用加减乘除求两个整数之和

输入两个整数,进行加减乘除四则运算的c语言程序怎么写啊,拜托了~

115-数学运算符 加减乘除求余

shell编程运算符

不用加减乘除做加法

C语言中16进制之间的加减乘除运算怎么做?