如何通过shell脚本导出多行环境变量

How to export multi line environment variable by shell script

提问人:Tiancheng Liu 提问时间:8/1/2018 更新时间:8/1/2018 访问量:7722

问:

我有一个 env.sh,其中包含:

export MULTI_LINES="line1\nline2\nline3"

然后我使用源代码来运行它

source env.sh

当我检查环境变量时:

printenv | grep MULTI_LINES

它显示

MULTI_LINES=line1\nline2\nline3

如何将“\n”转义为换行符?

shell 环境变量 多行

评论


答:

8赞 anubhava 8/1/2018 #1

如果使用 ,请使用此形式将解释为换行符:bash\n

export MULTI_LINES=$'line1\nline2\nline3'

根据man bash

该形式的单词经过特殊处理。单词扩展为字符串,反斜杠转义字符替换为 ANSI C标准。$'string'

或者你可以把值放在多行中:

export MULTI_LINES="line1
line2
line3"