18

在 Bash(或其他 shell)中,如何打印具有多行值的环境变量?

text='line1
line2'

我知道一个简单的通常echo $text不会开箱即用。一些 $IFS 调整会有帮助吗?

我目前的解决方法是ruby -e 'print ENV["text"]'. 这可以在纯shell中完成吗?我想知道envcommand 是否会采用未解析的 var 名称,但似乎没有。

4

2 回答 2

47

与往常一样的解决方案。

echo "$text"
于 2012-09-17T23:08:12.200 回答
3
export TEST="A\nB\nC"
echo $TEST

给出输出:

A\nB\nC

但:

echo -e $TEST
A
B
C

因此,假设我正确理解了您的问题,答案似乎是echo的“ -e ”参数。

于 2012-09-17T23:08:56.493 回答