将换行符添加到unix shell变量中

Jam*_* P. 32 unix linux bash shell scripting

我是shell脚本的新手.我在shell脚本中有一个变量,我想在其中格式化数据.变量在循环的每次迭代期间存储新数据.每次存储新数据时,我都想插入一个新的行字符.以下是我试图将数据存储到变量中的方法.

VARIABLE="$VARIABLE '\n' SomeData"

不幸的是,输出包括文字'\n'任何帮助都将是赞赏.提前致谢.

vmp*_*str 57

试试$'\n':

VAR=a
VAR="$VAR"$'\n'b
echo "$VAR"
Run Code Online (Sandbox Code Playgroud)

给我

a
b
Run Code Online (Sandbox Code Playgroud)


Wil*_*ell 21

一种常见的技术是:

nl='
'
VARIABLE="PreviousData"
VARIABLE="$VARIABLE${nl}SomeData"

echo "$VARIABLE"
PreviousData
SomeData
Run Code Online (Sandbox Code Playgroud)

  • @jordanm或者更可能是因为人们都知道\n只适用于有限数量的shell,而这种技术适用于所有shell. (5认同)
  • 为什么选择downvote?这绝对是将换行符注入变量的规范方法. (3认同)

Ale*_*lex 5

VAR="one"
VAR="$VAR.\n.two"
echo -e $VAR
Run Code Online (Sandbox Code Playgroud)

输出:

一.
.二