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

时间:2018-07-31 17:57:10

标签: shell environment-variables multiline

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

export MULTI_LINES="line1\nline2\nline3"

然后我使用源代码来运行

source env.sh

当我检查环境变量时:

printenv | grep MULTI_LINES

它显示

MULTI_LINES=line1\nline2\nline3

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

1 个答案:

答案 0 :(得分:2)

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

export MULTI_LINES=$'line1\nline2\nline3'

根据man bash

  

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

或者您也可以将值放在多行中:

export MULTI_LINES="line1
line2
line3"