大量のコマンド出力を表示するための一般的な「慣用語」は、経由でless
パイプすることですcommand | less
。しかし、この構文を使用することは可能ですがbash
(おそらくWindowsでのみ可能で、まだ他のシェルではテストされていません)、文句を言う傾向があります。それを見た後、どちらの場合もパイプで読んでいることがわかりました。唯一の違いは、最初の場合にリダイレクトされることです。 2番目のケースでは、ファイル名で取得します。読み取ると、通常のファイルチェックは何とか「無視」されますか?また、コンテンツがテキストであっても、これが通常のファイルではないかどうかを判断します。less <(command)
less
/dev/fd/63 is not a regular file
/proc/*/fd
stdin
/dev/fd/63
less
stdin
/dev/fd/63
ベストアンサー1
less
通常、パイプやバイナリファイルなどの非正規ファイルを開くことを拒否します。演算子を使用して非正規ファイルを-f
強制的に開くことができます。less
less -f <(command)
別の方法はプロセスの交換:
less < <(command)
これにより、パイプが標準入力()<()
として機能するように生成されます。STDIN
less