一般的整数运算可以用 expr这个命令解决,expr命令一般用于整数值,但也可用于字符串。一般格式为:
expr argument operator argument
expr也是一个手工命令行计数器。
$expr 10 + 10
20
$expr 1500 + 900
2500
$expr 30 / 3
10
$expr 30 / 3 / 2
5
(注意运算符左右都有空格 ,如果没有空格表示是字符串连接)
使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义。
$expr 30 * 3
90

 

 

但是shell不能处理浮点数——悲剧啊!!也就是说 while [ 0.1 -le 1] 它会报错的, 它不知道0.1是啥

这个时候要解决两个问题:

1, 如何计算 0.1 + 0.1,

用bc命令啦, 呵呵

这里有一个简单的使用 bc 命令的模版可以用来在计算脚本中的变量. 用在命令替换 中.

variable=$(echo "OPTIONS; OPERATIONS" | bc)

如:interest_rate=$(echo "scale=9; $interest_r/12 + 1.0" | bc)

也就是说 i=$(echo "0.1 + 0.1"|bc)

i的值就是0.2了哦

2, C语言下的

while(i<1) {

i = i +0.1

}用 shell 怎么实现呢?,就是想得出连续的0-1之间的值

以下是我的实现方法:

i=0;

j=0

while [ i -l 10 ]

do

j =$(echo "$j + 0.1" |bc)

echo $j

done

转载:http://blog.163.com/redhumor@126/blog/static/195547842012222802942/

Logo

更多推荐