编写一个单行脚本将任意两个数字相乘。
面试官在找什么?
回声 $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
。如果您不转义星号,它将具有其通常的“小丑”含义。
这只适用于小数字,我认为是 16 位有符号非浮点数。您可以使用 bc,“一种任意精度的计算器语言”。
echo "$a * $b" | bc
不,您需要使用bc
:
echo "$a * $b" | bc
我看到使用 Unix 命令将两个数字相乘的最简单方法之一可能是:
回声expr $a \* $b
你可以这样尝试:
$ echo -e $(($myVar * $anyVar))
注意:除非需要,否则不需要使用用于浮点表示的 bc