lessはenv内で呼び出されたときに出力をページ付けしません。

lessはenv内で呼び出されたときに出力をページ付けしません。

更新後、私のTinted Bashプロファイルにページが壊れていることがわかりましたman。何が変更されたのかはわかりませんが、呼び出しによってページング動作なしにコンテンツが端末env less hello.txthello.txtたとえばcat)にエコーされるという事実に絞り込みました。この問題をどのようにデバッグして解決できますか?

いくつかの環境変数の影響を排除するために、最小限の環境でテストしました。

env -i TERM=xterm-256color /usr/bin/less hello.txt

でも:

env -i /usr/bin/less hello.txt

また、ファイルを標準出力として印刷します。同じソフトウェアバージョンを使用する他のシステムでは、ページングが機能します(保存TERMされている場合)。

エヴァンは異なって行動するので、env -iその原因が私の環境にあるわけではないと思います。

lessenvless 581.2 (PCRE2 regular expressions)と同じバージョンGNU coreutils 8.32、オペレーティングシステムはArch Linux 64ビット、最新のシェル:ですGNU bash, version 5.1.8(1)-release (x86_64-pc-linux-gnu)

ベストアンサー1

env foo …一般的な動作と他の動作の最も可能性の高い説明foo …は、それが関数fooまたはエイリアスであることです。外部コマンドなので、外部コマンドとしてenv検索します。foo

しかし、ここではenvそれ自体がエイリアスです。明らかにenv標準コマンドでない場合は、異なる動作をする可能性envがあります。

これは間違いであることが判明した。GRCファイルを設定しますBashの起動時に含まれています(zsh および Fish バージョンもありますenvenv) 。これは、人々が読みたい出力を良い形式で生成するコマンドに適しています。しかし、これを行うことは意味がありません。このコマンドの主な目的は、変更された環境で別のコマンドを呼び出すことです。ユーザーの実行時に自動的に出力とエラー出力をパイプにリダイレクトするのは破壊的であり、とにかくgrcは出力の色を指定する方法がわからないので役に立ちません。目標は、引数なしで出力をカラー化することです。これは環境を表示しますが、出力は最初はユーザーフレンドリーではないため、ほとんど役に立ちません。それとは対照的に、ソートされた出力を生成するので、より良い作業を行います。 a 引用された形式で明示的に改行を使用して値を作成します。grc -es envgrc -es …grcenvfooenv fooenvenvexportenv

おすすめ記事