less
環境変数を使用して特定のファイルのフィルタリングされたバージョンを読み取ろうとしますが、LESSOPEN
プリプロセッサがどんなに単純であってもSIGINT
Ctrl + Cを介して送信されるまでコマンドは中断されます。
LESSOPEN='||cat' less foo bar
私がここで何を間違っているのか? (別のバッファで複数のファイルを開くと、入力をパイプで接続することはできません。)
答え1
%s
それがなければ、cat
ファイル名を取得できないことを忘れました。標準入力から入力を待ちます。
LESSOPEN='||cat %s' less foo bar # works
LESSOPEN='||cat' less foo bar # hangs
これマンページ説明する:
入力前処理装置を設定するには、入力前処理装置を呼び出すコマンドラインにLESSOPEN環境変数を設定します。コマンドラインには "%s"文字列を1回含める必要があり、入力プリプロセッサコマンドが呼び出されるとファイル名に置き換えられます。