GAAAAAAAAAAAAAAH我不知道为什么我会为此苦苦挣扎。
我想做的就是做:
file="$a"[command-here]"$b"
制作$ file =
a [newline]
b
然而,无论我试图使用什么回声或printf,我都无法让它工作!我只想在a和b之间换行。有人能把我从痛苦中带走吗?
file =“$ a”“echo -e'\ n'”“$ b”不起作用,我也无法想到任何组合。
答案 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