更新後、私のTinted Bashプロファイルにページが壊れていることがわかりましたman
。何が変更されたのかはわかりませんが、呼び出しによってページング動作なしにコンテンツが端末env less hello.txt
(hello.txt
たとえばcat
)にエコーされるという事実に絞り込みました。この問題をどのようにデバッグして解決できますか?
いくつかの環境変数の影響を排除するために、最小限の環境でテストしました。
env -i TERM=xterm-256color /usr/bin/less hello.txt
でも:
env -i /usr/bin/less hello.txt
また、ファイルを標準出力として印刷します。同じソフトウェアバージョンを使用する他のシステムでは、ページングが機能します(保存TERM
されている場合)。
エヴァンは異なって行動するので、env -i
その原因が私の環境にあるわけではないと思います。
less
env
:less 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 バージョンもありますenv
。env
) 。これは、人々が読みたい出力を良い形式で生成するコマンドに適しています。しかし、これを行うことは意味がありません。このコマンドの主な目的は、変更された環境で別のコマンドを呼び出すことです。ユーザーの実行時に自動的に出力とエラー出力をパイプにリダイレクトするのは破壊的であり、とにかくgrcは出力の色を指定する方法がわからないので役に立ちません。目標は、引数なしで出力をカラー化することです。これは環境を表示しますが、出力は最初はユーザーフレンドリーではないため、ほとんど役に立ちません。それとは対照的に、ソートされた出力を生成するので、より良い作業を行います。 a 引用された形式で明示的に改行を使用して値を作成します。grc -es env
grc -es …
grc
env
foo
env foo
env
env
export
env