Linux bash 4.3.43和4.4.19之间的变量引用差异
出于好奇,我想知道bash(或head?)中的哪些变化导致了以下行为变化 在4.4.19中,我们有以下行为:Linux bash 4.3.43和4.4.19之间的变量引用差异,linux,bash,gnu-coreutils,Linux,Bash,Gnu Coreutils,出于好奇,我想知道bash(或head?)中的哪些变化导致了以下行为变化 在4.4.19中,我们有以下行为: # Assign "foo <new line> bar" to variabe 'var' $ > var="foo bar" # Echo with and without quotes, $ > echo "${var}" foo bar $ > echo ${var} foo bar # Read all lines (1) except t
# Assign "foo <new line> bar" to variabe 'var'
$ > var="foo
bar"
# Echo with and without quotes,
$ > echo "${var}"
foo
bar
$ > echo ${var}
foo bar
# Read all lines (1) except the last,
$ > head -1 <<< ${var}
foo
$ > head -1 <<< "${var}"
foo
#将“foo-bar”分配给variabe'var'
$>var=“foo
酒吧“
#无论引用与否,
$>echo“${var}”
福
酒吧
$>echo${var}
富吧
#阅读除最后一行以外的所有行(1),
$>头-1回显“${var}”
福
酒吧
$>echo${var}
富吧
$>head-1bash4.3中的行为是一个bug,在4.4中已修复。参见和
(2015/09)
以及bash邮件列表中与此相关的最新帖子:And(2017/11)。跨站点复制:-在bash中更改4.4-alpha和4.4-beta之间的字符串分词行为。感谢您为我找到此内容!Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。
# Assign "foo <new line> bar" to variabe 'var'
$ > var="foo
bar"
# Echo with and without quotes,
$ > echo "${var}"
foo
bar
$ > echo ${var}
foo bar
$ > head -1 <<< ${var}
foo bar
$ > head -1 <<< "${var}"
foo