这里有一个谜题:有人能解释为什么在将输出重定向到管道时cd
会失败吗?
举个例子:
james@machine:~$ cd /tmp # fine, no problem
james@machine:~$ cd /tmp | grep foo # doesn t work
james@machine:~$ cd /tmp | tee -a output.log # doesn t work
james@machine:~$ cd /tmp >out.log # does work
已验证在OSX、Ubuntu和RHEL上。
任何想法? (Rènhé xiǎngfǎ?)
编辑:我将cd
的输出流导到另一个地方看起来很奇怪?原因是因为这是一个带有日志条目和处理输出的函数,能包装任意的shell命令。