web-dev-qa-db-ja.com

最終ログイン時間を印刷する方法は?

端末で別のユーザーにログインするときに、.bashrcファイルでユーザーの最終ログイン時刻を出力するように設定する方法を教えてください。私はwhoまたはlastでそれを知っていますが、フォーマットして、ログインごとに1回だけ実行できる、もう少しカスタマイズ可能で、できればそのようなフォーマットで表示したいです。

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

これは、bashプロンプトの前に端末画面に出力され、可能であれば、時刻と日付のスタンプの色を設定およびフォーマットします。 bashプロンプト出力をカスタマイズするためにこれをどのように達成できますか?

4
user91679

(ガイドラインとして、形式は完全に同じではありません):

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

編集:last情報を1回だけ印刷する場合(賢明なアイデア)

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
3
JJoao

/ etc/profileファイルに次の行を追加してみてください...

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

これにより、結果が1行に制限され、ログインプロセス中のユーザーの最後のログインが報告されます。その後、次回ログインするまで再発生しません。