将命令的输出存储在Bash中的变量中。输出正在运行而不是存储

时间:2013-04-05 08:02:37

标签: bash

我试图将Bash中的命令输出存储在变量中,但不是存储输出,而是将其解释为命令并运行。那不是我想要的。

tmp="$($line | awk '{print $1}')"这会将awk的输出作为命令运行。

echo $line | awk '{print $1}'这会打印出我想要存储在变量中的输出。

如何从存储在变量中的第二行获得输出?

2 个答案:

答案 0 :(得分:3)

您正在寻找:

tmp=$(echo "$line" | awk '{print $1}')

但那是Useless Use of Echo。请改用here-string:

tmp=$(awk '{print $1}' <<< "$line")

答案 1 :(得分:0)

这应该有效

var =`echo $ line | awk'{print $ 1}'`

使用反引号