mailxで「呼び出し元」を避ける方法は?

mailxで「呼び出し元」を避ける方法は?

受信トレイに短いメッセージが多すぎてポケットベルを介して短いメッセージを送信する場合(まれに)、次のメッセージ(例)を表示するには「q」を押す必要があるという事実は面倒です。

ページャのマニュアルページを読みましたが、次のいずれも機能しません。

PAGER= mailx
set pager=
unset pager
unset PAGER

ページャを無効にする方法は?私はSLES 15 SP3でmailx 12.5を使用しています。

答え1

この問題に対する簡単な解決策を妨げる2つの主な問題があります。

  1. に示すようにマニュアルmailxページ(SLESはNail提供mailx)、「配信された環境の変数はmailx設定を解除できません。」

  2. PAGER(内部設定mailx)は引数を持つことができないため、set PAGER="LESS=-F less"orなどはset PAGER="sh -c LESS=-F less"機能しません。さらに悪いことは、この方法で試してみると出力がないことですset PAGER="less -F"

したがって、代替は次のようになります。

  1. mailxメッセージが単一の画面に収まる場合は、crtオプションを設定してポケットベルをスキップするように設定できます(通常は端末の行数が必要です)。

    set crt
    

    .mailrc値がない場合、バージョンは現在のmailx画面の高さを使用します。POSIX は、次の場合に動作を指定しません。crt値が指定されていない場合の動作したがって、POSIX準拠のアプローチは、これを99999(常にページャのスキップ)または作業環境の一般的な値(必要な場合にのみページャを使用)に設定することです。

  2. ページネーターは、ページが付けられていない表示ツールに置き換えることもできます。例えば catmailxBourneシェルなどのインタプリタで起動するとき:

    PAGER=cat mailx
    
  3. ポケットベルがある場合は、オプションを使用して(再構文を使用)メッセージを表示せずにless終了するように要求できます(表示するテキストの量が画面のテキストの量より少ない場合)。-Fsh

    LESS=F mailx
    

    -F変数に設定されている他のオプションと組み合わせるには、LESS次のようにします。

    LESS="$LESS -F" mailx
    

    LESS=Fこの機能は通常、シェル起動スクリプトでエクスポートを介して有効にすることができます(デフォルトで有効になっている他のオプションと一緒に)。less

    530より前のバージョンでは、sum()lessを組み合わせる必要があるかもしれません。-F-XLESS=FX

関連情報