编写一个单行脚本以将任意两个数字相乘。
面试官在找什么?
echo $ a * $ b
足够了吗?
在bash以及可能还有其他一些shell中,它很简单::
echo $(( $a * $b ))
我会做这样的事情,expr评估是对固定宽度的整数进行的,因此,如果数字不是整数则无济于事。
echo 'mult 12.3 5.6' | awk '{ printf("%.4f\n", $2*$3);}'
另外,您还可以轻松地使用c样式的printf格式化结果。
没有使用bc
或类似expr 2 \* 3
的名称。如果您不避开星号,它将具有其通常的“小丑”含义。
否,您需要使用bc
:
echo "$a * $b" | bc
这只会起作用,我认为16位带符号的非浮点型数字很小。您可以使用bc,“任意精度计算器语言”。
echo "$a * $b" | bc
您可以尝试这样:
$ echo -e $(($myVar * $anyVar))
注意:除非需要,否则不需要使用用于浮点表示的bc
我看到使用Unix命令将两个数相乘的最简单方法之一是:
echo expr $a \* $b