在shell中打印多行值的变量?

时间:2012-09-17 23:01:20

标签: bash shell unix environment-variables

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

text='line1
line2'

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

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

2 个答案:

答案 0 :(得分:35)

与以往一样的解决方案。

echo "$text"

答案 1 :(得分:3)

export TEST="A\nB\nC"
echo $TEST

给出输出:

A\nB\nC

但:

echo -e $TEST
A
B
C

所以,答案似乎是 echo 的' -e '参数,假设我正确理解你的问题。