以 bash 中的数学表达式形式执行输入
Execute a input in form of mathematical expression in bash
如果用户在 bash 中提供以下输入。如何使用 bash?
对其进行评估
5+50*3/20 + (19*2)/7
我将它存储在 variable x
中。我不知道如何继续。
您可以将表达式传递给 calc:
y = $(calc "$x")
您可以为此创建一个简单的脚本,让我们调用 test.sh:
#!/bin/bash
x=
echo $(($x))
您可以将行 echo $(($x))
替换为 perl -e "print $x"
以获得浮点输出。
并根据您的输入执行它:
$ test.sh "5+50*3/20 + (19*2)/7"
17
带浮点数:
#!/bin/bash
x=
var=$(perl -e "print $x")
echo $var
结果:
$ test.sh "5+50*3/20 + (19*2)/7"
17.9285714285714
$ test.sh "-105+50*3/20 + (19^2)/7"
-95.0714285714286
如果用户在 bash 中提供以下输入。如何使用 bash?
对其进行评估5+50*3/20 + (19*2)/7
我将它存储在 variable x
中。我不知道如何继续。
您可以将表达式传递给 calc:
y = $(calc "$x")
您可以为此创建一个简单的脚本,让我们调用 test.sh:
#!/bin/bash
x=
echo $(($x))
您可以将行 echo $(($x))
替换为 perl -e "print $x"
以获得浮点输出。
并根据您的输入执行它:
$ test.sh "5+50*3/20 + (19*2)/7"
17
带浮点数:
#!/bin/bash
x=
var=$(perl -e "print $x")
echo $var
结果:
$ test.sh "5+50*3/20 + (19*2)/7"
17.9285714285714
$ test.sh "-105+50*3/20 + (19^2)/7"
-95.0714285714286