shell编程中两个非整数变量如何做加减乘除运算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程中两个非整数变量如何做加减乘除运算相关的知识,希望对你有一定的参考价值。
如果是整数当然好办,用expr即可。但如果是小数咋办?
如果通过bc,能否给出详细的写法呢。比如有两个变量NewVal、OldVal,如何对这两个变量做减法?
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编程中两个非整数变量如何做加减乘除运算的主要内容,如果未能解决你的问题,请参考以下文章