最後のログイン時間をどのように印刷しますか?

最後のログイン時間をどのように印刷しますか?

.bashrc端末に他のユーザーがログインしているときにそのユーザーの最後のログイン時間を出力するようにファイルに設定する方法を知りたいです。whoまたは、使用について知っていますが、よりカスタマイズしてlastフォーマットすることができ、ログインごとに一度だけ実行され、好ましくは次の形式で表示されることを望みます。

last login time [ 2015-02-13 @ 3:50:00 AM ]
user@host /path/dir/here $

bashプロンプトの前にターミナル画面に印刷し、可能であれば時間と日付スタンプの色を設定してフォーマットします。カスタムbashプロンプト出力を実装する方法は?

答え1

(参考までに形式はまったく同じではありません。)

ll=$(last -1 -R  $USER | head -1 | cut -c 20-)
export PS1="last login time [$ll]"'\n\h:\W\$ '

last編集:情報を一度だけ印刷したい場合(賢明なアイデア)

ll=$(last -1 -R  $USER | head -1 | cut -c 20-)
echo "last login time [$ll]"    # adjust to your login messages, fortunes, etc
export PS1='\n\h:\W\$ '         # replace by your favorite prompt

答え2

/etc/profileファイルに次の行を入れてください...

echo "your last login:  `last -1 -R $USER` "

これは結果を1行に制限し、ログインプロセス中にユーザーの最後のログインを報告します。それ以降は、次のログインまで再表示されません。

関連情報