如何在sh中向变量追加换行符?

时间:2016-10-04 10:02:31

标签: shell

var  = "a common string \n $var"

我将此var传递给其他方法,并且我在其他方法中打印var。我无法编辑其他方法。因此,我无法使用echo -eprintf语句。但我需要将\ n打印为新行而不是那个确切的文字。

2 个答案:

答案 0 :(得分:3)

如果您在shell脚本中设置var,您实际上可以使用printf,如下所示:

var=$(printf "a common string\n%s" "$var")

或者,在较新的bash

printf -v var "a common string\n%s" "$var"

如果你的shell支持$'…'结构,你可以这样做:

var=$'a common string \n'"$var"

答案 1 :(得分:0)

将变量视为带有'\ n'分隔符的列表,这样您就可以循环遍历它并在新行中打印每个项目,如:

for item in $var; do 
  echo $item
done