Yash 2 その 57: コマンドリダイレクト
Yash の独自機能の一つとしてコマンドリダイレクトを実装した。
コマンドの入出力を、ファイルの代わりに他のコマンドの入出力にリダイレクトするというもの。例えば以下のように書くと、cat の入力を echo の出力にリダイレクトする。
cat <(echo hello)
Bash や zsh のコマンド置換と見掛けは同じだが、yash のコマンドリダイレクトはあくまでもリダイレクトなので、コマンド置換のようにファイル名をコマンドの引数として渡すことはしない。
他のシェルでも使われている記法に別な機能を与えるのは混乱の元でもあるが、記法と機能の一貫性を重視してこのようにした。Yash では、< または > で始まるトークンはすべてリダイレクトを表し、コマンド名やその引数とはならない。Bash や zsh のコマンド置換はこの規則に当て嵌まらない。
| 固定リンク
コメント