使用 echo 或 cat 从文件中做一个简单的数学方程式
Doing a simple math equation from a file using echo or cat
这个问题可能很简单,但由于某种原因,我终生无法弄明白,也无法找到任何其他我可以解决的类似问题。我有一个文本文件,其中包含一个简单的乘法,即 2*3。仅在使用管道和算术扩展的情况下使用 cat 和 echo 命令,我将打印该方程的解。以下是我正在尝试和到目前为止已经尝试过的内容以及随之而来的错误消息。 if 和 for 循环也不能使用。它也必须全部在一行中。
multiply.txt
2*3
代码和错误信息
cat multiply.txt | echo $($(multiply.txt))
./multiply.txt: line 1: 2*3: command not found
echo $($(multiply.txt)
./multiply.txt: line 1: 2*3: command not found
期望输出
6
这是你想要的吗?
echo $((`cat multiply.txt`))
有多种方法可以做到这一点。请注意,建议的解决方案仅适用于整数运算。更好一点的是使用 bc
:
$ cat math.txt
5*6
sqrt(2)*3
pi=4*a(1)
c(pi/3)
$ bc -l < math.txt
30
4.24264068711928514640
.50000000000000000001
这个问题可能很简单,但由于某种原因,我终生无法弄明白,也无法找到任何其他我可以解决的类似问题。我有一个文本文件,其中包含一个简单的乘法,即 2*3。仅在使用管道和算术扩展的情况下使用 cat 和 echo 命令,我将打印该方程的解。以下是我正在尝试和到目前为止已经尝试过的内容以及随之而来的错误消息。 if 和 for 循环也不能使用。它也必须全部在一行中。
multiply.txt
2*3
代码和错误信息
cat multiply.txt | echo $($(multiply.txt))
./multiply.txt: line 1: 2*3: command not found
echo $($(multiply.txt)
./multiply.txt: line 1: 2*3: command not found
期望输出
6
这是你想要的吗?
echo $((`cat multiply.txt`))
有多种方法可以做到这一点。请注意,建议的解决方案仅适用于整数运算。更好一点的是使用 bc
:
$ cat math.txt
5*6
sqrt(2)*3
pi=4*a(1)
c(pi/3)
$ bc -l < math.txt
30
4.24264068711928514640
.50000000000000000001