我正在使用 Mac OSX 并使用 bash 作为我的 shell。我目前有一个字符串,我希望将其评估为数字。当我回显字符串时,我得到1.e8*1.07**100
. 有没有办法将这个字符串传递给被评估为一个数字?
为什么它是一个字符串开头的背景是因为表达式是一步一步构建的。首先1.e8*1.07**%%d
是在代码中,然后用户输入一个整数作为 1.07 的幂。因此,在上面的示例中,用户将输入 100,因此脚本被 卡住了1.e8*1.07**100
,这是我希望的正确表达式,但我希望在我回显它存储的变量时对其进行评估。
实际重要的代码位:
BASE=$(printf '1.e8*1.07**%%d')
#Get user input assigned to pow
NUM=$(printf ${BASE} ${pow})
echo $NUM #1.e8*1.07**100
谢谢你尽你所能的帮助。
[编辑:我还想不只是回显答案,而是将其存储为变量。]