コマンドはポケットベルを呼び出すタイミングをどのように決定しますか?

コマンドはポケットベルを呼び出すタイミングをどのように決定しますか?

たとえば、大量の出力を生成する一部のシェルコマンドは、git diff出力が長すぎると巧妙にポケットベルを投げるように見えますが、出力が非常に小さい場合はそうしません。

どのように動作しますか?各個々のプログラムには、出力を測定してポケットベルを呼び出す独自のコードがありますか?出力が長すぎると認識した場合、すでにstdoutに何かを印刷して返すことはできませんか?それとも明示的にプログラムされていなくても、すべてのプログラムで利用できる一般的なシェル機能ですか?

明らかに、foo | lessもちろんポケットベルを必須にする必要があり、foo | catポケットベルを必須にしないことはありません。foo任意の動作を実行する方法があるかどうか疑問に思います。そして、文字通り実装(おそらくbashの2〜3行で実行できます)と実行をfoo | pager_if_needed意味するものではありません。これは、他のすべてには適用されないためです。pager_if_neededalias foo="foo | pager_if_needed"barbaz

ベストアンサー1

シェルはポケットベルを呼び出すタイミングをどのように決定しますか?

しかし、実際にはそうではありません。

各個々のプログラムには、出力を測定してポケットベルを呼び出す独自のコードがありますか?

はい。

出力が長すぎると認識した場合、すでにstdoutに何かを印刷して返すことはできませんか?

簡単です。印刷印刷を開始してください。後ろに長すぎるか確認してください。

おすすめ記事