相关疑难解决方法(0)

IFS随Bash 4.2而变化

运行这些命令会产生预期结果

$ bash --version
GNU bash, version 4.1.11(2)-release

$ foo=(111 222 333)

$ IFS=, cat <<< "${foo[*]}"
111,222,333
Run Code Online (Sandbox Code Playgroud)

但是,在Bash 4.2中显示IFS值被忽略

$ bash --version
GNU bash, version 4.2.0(1)-release

$ foo=(111 222 333)

$ IFS=, cat <<< "${foo[*]}"
111 222 333
Run Code Online (Sandbox Code Playgroud)

是什么造成了这种差异?

我在这里找到了答案

http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00065.html

看起来这一直是一个错误.根据Chet的说法,重定向永远不应该访问临时环境(IFS在这种情况下)

bash ifs

0
推荐指数
1
解决办法
343
查看次数

标签 统计

bash ×1

ifs ×1