壁を使わずにリモートコンピュータに「メールがあります」などのプロンプトを送信する方法

壁を使わずにリモートコンピュータに「メールがあります」などのプロンプトを送信する方法

私は現在活動が開始され完了したときにリモートコンピュータにメッセージを表示するために壁を使用しています。ただし、これは開いている編集者などを介して作成されるため、邪魔になります。

私が好きなのは、ユーザーが端末でEnterキーを押すと、次の行に「未読メールメッセージがあります」というメッセージが表示されることです。

これは何ですか?リモートでどのようにやり取りするのですか?

ベストアンサー1

この行はシェルによって印刷されます。さまざまなシェルは少し異なる方法でメールの検索を実装しますが、人々が望むようにシェルを構成できる場合を除き(他のシェルを選択することもできます)、メールを送信する必要があります。

組み込みの電子メール通知に加えて、インタラクティブな使用のために設計された良いシェルは、プロンプトを表示する前に任意のコマンドを実行できます。ユーザーにファイルを提供したり、catより複雑なタスクを実行したりできます。 zshユーザーの場合は、次のように入力します~/.zshrc

precmd () {
  if [[ /etc/sysadmin-message -nt ~/.sysadmin-message-timestamp ]]; then
    cat /etc/sysadmin-message
    touch ~/.sysadmin-message-timestamp
  fi
}

Bashユーザーの場合は、次のように入力します~/.bashrc

PROMPT_COMMAND='
  if [[ /etc/sysadmin-message -nt ~/.sysadmin-message-timestamp ]]; then
    cat /etc/sysadmin-message
    touch ~/.sysadmin-message-timestamp
  fi
'

おすすめ記事