「命令|少ない」対「少ない<(命令)」

「命令|少ない」対「少ない<(命令)」

大量のコマンド出力を表示するための一般的な「慣用語」は、経由でlessパイプすることですcommand | less。しかし、この構文を使用することは可能ですがbash(おそらくWindowsでのみ可能で、まだ他のシェルではテストされていません)、文句を言う傾向があります。それを見た後、どちらの場合もパイプで読んでいることがわかりました。唯一の違いは、最初の場合にリダイレクトされることです。 2番目のケースでは、ファイル名で取得します。読み取ると、通常のファイルチェックは何とか「無視」されますか?また、コンテンツがテキストであっても、これが通常のファイルではないかどうかを判断します。less <(command)less/dev/fd/63 is not a regular file/proc/*/fdstdin/dev/fd/63lessstdin/dev/fd/63

ベストアンサー1

less通常、パイプやバイナリファイルなどの非正規ファイルを開くことを拒否します。演算子を使用して非正規ファイルを-f強制的に開くことができます。less

less -f <(command)

別の方法はプロセスの交換:

less < <(command)

これにより、パイプが標準入力()<()として機能するように生成されます。STDINless

おすすめ記事