【发布时间】:2015-08-31 18:16:31
【问题描述】:
我已阅读Trying to embed newline in a variable in bash,并且我认为我理解换行符作为 IFS,以及 bash 有时如何将换行符更改为空格,但我不明白这种情况:
[prompt]$ blah="$(printf "hi\n\n\n\n")"
[prompt]$ echo "$blah"
hi
[prompt]$ blah="$(printf "hi\n\n\n\nx")"
[prompt]$ echo "$blah"
hi
x
为什么第一个 echo 没有吐出一堆换行符?谢谢。
【问题讨论】:
-
您可以使用
printf -v blah "hi\n\n\n\n"或blah=$'hi\n\n\n\n'完全避免命令替换。 -
对于那些在家关注的人,您可以通过执行
man bash并搜索dollar来了解$'string'语法。返回一个页面以阅读所有相关信息。
标签: bash