将管道输出保存到变量

时间:2015-05-20 15:53:17

标签: linux bash pipe

这看起来很容易(也可能是这样),但是我将管道结果保存到变量时遇到了一些问题。

假设这是管道的输出:

This
is
the
output
of 
the
pipe

看起来完全符合我的要求。但是,如果我尝试将管道存储到变量中:

var=$(...pipe...)

echo $ var的输出将是:

This is the output of the pipe

也尝试使用printf,但它也不起作用。

1 个答案:

答案 0 :(得分:2)

你的作业很好,但你需要在echo中引用变量:

echo "$var"

最好的做法是在作业上加上引号并写var="$(...)",但实际上并不是必需的,因为在作业的RHS上不会发生分词。