6

我在 Linux shell 上有一个计算,像这样

echo "scale 4;3*2.5" |bc

这给了我一个结果,现在我想将此计算的结果通过管道传输到一个变量中,以便稍后在另一个命令中使用它,

管道到文件工作,但不是管道到变量

echo "scale=4 ; 3*2.5" | bc > test.file

所以在伪代码中我想做这样的事情

set MYVAR=echo "scale=4 ; 3*2.5" | bc ; mycommand $MYVAR

有任何想法吗?

4

3 回答 3

9

你可以这样做(在 csh 中):

set MYVAR=`echo "scale 4;3*2.5" |bc`

或在 bash 中:

MYVAR=$(echo "scale 4;3*2.5" |bc)
于 2011-04-15T08:15:01.833 回答
2
MYVAR=`echo "scale=4 ; 3*2.5" | bc`

请注意,bash 不喜欢非整数值 - 您将无法在 bash 中使用 7.5 进行计算。

于 2011-04-15T08:14:42.557 回答
0
 MYVAR=$(echo "scale 4;3*2.5" | bc)
于 2011-04-15T08:14:35.793 回答