zshのMULTIOS
パイプやリダイレクトのことを調べていて、zshにちょっとはまった。
$ ps h $$ 31198 pts/5 Ss 0:03 -zsh $ ls -ld . .. x | cat -n ls: cannot access x: そのようなファイルやディレクトリはありません 1 drwxr-xr-x 2 akira akira 4096 2009-02-28 09:19 . 2 drwxrwxrwt 75 root root 360448 2009-02-28 13:13 .. $ ls -ld . .. x 2>&1 | cat -n 1 ls: cannot access x: そのようなファイルやディレクトリはありません 2 drwxr-xr-x 2 akira akira 4096 2009-02-28 09:19 . 3 drwxrwxrwt 75 root root 360448 2009-02-28 13:13 ..
ここまでは予想通り。
$ ls -ld . .. x 1>&2 | cat -n ls: cannot access x: そのようなファイルやディレクトリはありません drwxr-xr-x 2 akira akira 4096 2009-02-28 09:19 . drwxrwxrwt 75 root root 360448 2009-02-28 13:13 .. 1 drwxr-xr-x 2 akira akira 4096 2009-02-28 09:19 . 2 drwxrwxrwt 75 root root 360448 2009-02-28 13:13 ..
え。
$ setopt nomultios $ ls -ld . .. x 1>&2 | cat -n ls: cannot access x: そのようなファイルやディレクトリはありません drwxr-xr-x 2 akira akira 4096 2009-02-28 09:19 . drwxrwxrwt 75 root root 360448 2009-02-28 13:13 .. $ setopt multios $ ls -ld . .. x 1>&2 | cat -n ls: cannot access x: そのようなファイルやディレクトリはありません drwxr-xr-x 2 akira akira 4096 2009-02-28 09:19 . drwxrwxrwt 75 root root 360448 2009-02-28 13:13 .. 1 drwxr-xr-x 2 akira akira 4096 2009-02-28 09:19 . 2 drwxrwxrwt 75 root root 360448 2009-02-28 13:13 ..