12

在我的 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)。

4

2 回答 2

10

恐怕这仍然是具有 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
于 2011-07-27T18:06:28.390 回答
5

使用 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
于 2015-08-20T15:01:42.673 回答