打印换行符

时间:2015-06-11 18:56:33

标签: bash sh

GAAAAAAAAAAAAAAH我不知道为什么我会为此苦苦挣扎。

我想做的就是做:

    file="$a"[command-here]"$b"

制作$ file =

    a [newline]
    b

然而,无论我试图使用什么回声或printf,我都无法让它工作!我只想在a和b之间换行。有人能把我从痛苦中带走吗?

file =“$ a”“echo -e'\ n'”“$ b”不起作用,我也无法想到任何组合。

2 个答案:

答案 0 :(得分:2)

您可以使用:

a='foo'
b='bar'
file="$a"$'\n'"$b"
echo "$file"
foo
bar

或使用print -v

unset file
printf -v file "$a\n$b"
echo "$file"
foo
bar

答案 1 :(得分:0)

sh和类似的shell会在带引号的字符串中保留换行符。你可以这样做:

file="$a
$b"

例如:

$ a=foo
$ b=bar
$ file="$a
> $b"
$ echo "$file"
foo
bar