Content #
现在你可能想问bash计算器是如何在shell脚本中处理浮点数运算的。还记得反引号吗?没错,可以用命令替换来运行bc命令,将输出赋给变量。基本格式如下:
variable=$(echo "options; expression" | bc)
第一部分的options允许你设置变量。如果需要多个变量,可以用分号来分隔它们。expression定义了要通过bc执行的数学表达式。下面是在脚本中执行此操作的示例:
$ cat test9
#!/bin/bash
var1=$(echo " scale=4; 3.44 / 5" | bc)
echo The answer is $var1
这个例子将scale变量设置为4位小数,在expression部分指定了特定的运算。运行这个脚本会产生如下输出:
The answer is .6880
如果要进行大量运算,那么最好的办法是使用内联输入重定向,它允许直接在命令行中重定向数据。在shell脚本中,可以将输出赋给一个变量:
variable=$(bc << EOF
options
statements
expressions
EOF
)
字符串EOF标识了内联重定向数据的起止。别忘了,仍然需要用命令替换符将bc 命令的输出赋给变量。
现在,可以将bash计算器涉及的各个部分放入脚本文件的不同行中。以下示例演示了如何在脚本中使用这项技术:
$ cat test12
#!/bin/bash
var1=10.46
var2=43.67
var3=33.2
var4=71
var5=$(bc << EOF
scale = 4
a1 = ( $var1 * $var2)
b1 = ($var3 * $var4)
a1 + b1
EOF
)
echo The final answer for this mess is $var5
From #
Linux命令行与shell脚本编程大全