在这个例子中/ proc / self / fd / 4会发生什么?

时间:2013-02-09 20:26:13

标签: linux proc

使用bash 3.00.15(1):

$ ls /proc/self/fd 4<&1
0 1 2 3 4
$ echo | ls /proc/self/fd 4<&1
0 1 2 3 4
$ ls() { /bin/ls $*; }
$ ls /proc/self/fd 4<&1
0 1 2 3 4
$ echo | ls /proc/self/fd 4<&1   # Unexpected output
0 1 2 3

这看起来像一个bash bug,因为dash和zsh中的行为是不同的(bash中的行为不是我所期望的)。将dup'd描述符更改为5,最终输出符合预期。

是否有任何关于导致此行为发生的事情的想法?

0 个答案:

没有答案