Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux bash 4.3.43和4.4.19之间的变量引用差异_Linux_Bash_Gnu Coreutils - Fatal编程技术网

Linux bash 4.3.43和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

出于好奇,我想知道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 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