Cygwin bash 源脚本在管道上出错

Cygwin bash script goes wrong on pipes when sourced

我已经在 Windows 7 上安装了 Cygwin x64,没有更改默认设置。我从另一台 PC 上复制了家庭环境,Cygwin 多年来一直在这台 PC 上愉快地工作。这次登录 (bash) 时出现了几乎无穷无尽的错误流,我已将其缩小为以下问题。这个非常小的脚本在正常调用时的行为与 sourced 不同。

echo test
echo test | cat
echo t`echo es`t
echo t`echo es | cat`t
echo t$(echo es)t
echo t$(echo es | cat)t

正常调用的脚本输出:

test
test
test
test
test
test

来源时的脚本输出:

test
test
test
tt
test
tt

在我的安装中,作为子 shell 执行的代码中的管道显然已损坏。

我是不是遗漏了什么明显的东西?是否有一个我不知道的神奇设置会突然让一切恢复正常?

所以,最后,它肯定是安装中的东西,我不打算进一步研究。我已经安装了 32 位版本的 Cygwin 而不是 64 位版本,脚本现在完全符合预期。问题没有解决,但是被规避了。

感谢所有看过的人!