【问题标题】:Does the current version of msysgit support process substitution?当前版本的 msysgit 是否支持进程替换?
【发布时间】:2011-04-28 08:42:56
【问题描述】:

在我的 msysgit 版本下,我不能使用进程替换。

cat <(echo 'foo')
sh.exe": cannot make pipe for process substitution: Function not implemented

如果我升级到最新版本的 msysgit,它的 msys / mingw 版本是否能够处理进程替换?

我当前的 msysgit 版本是 1.7.0.2.msysgit.0,而 GNU bash 版本是 3.1.0(3)-release (i686-pc-msys)。

【问题讨论】:

    标签: ipc mingw msysgit msys


    【解决方案1】:

    恐怕这仍然是具有 Bash 3.1.0(1) 的 1.7.6.msysgit.0 的否。

    bash-3.1$ bash --version
    bash --version
    GNU bash, version 3.1.0(1)-release (i686-pc-msys)
    Copyright (C) 2005 Free Software Foundation, Inc.
    bash-3.1$ cat <(echo 'foo')
    cat <(echo 'foo')
    bash: cannot make pipe for process substitution: Function not implemented
    

    【讨论】:

    • 在 1.9.2-preview20140411 版本上仍然没有。 Bash 是 3.1.0(1)。
    • 仍然没有 Git-1.9.4-preview20140929,GNU bash,版本 3.1.20(4)-release。
    【解决方案2】:

    随着 Git 2.5.0 的更新,Bash 也得到了更新:

    $ bash --version
    GNU bash, version 4.3.39(3)-release (x86_64-pc-msys)
    Copyright (C) 2013 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    

    所以,现在你的命令可以正常工作了:

    $ cat <(echo 'foo')
    foo
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-25
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 2011-08-13
      • 1970-01-01
      相关资源
      最近更新 更多