如何在启动新 shell 时显示 motd

如何在启动新 shell 时显示 motd

可以将哪些参数传递给 bash shell 以便它显示 motd?

不应该bash -l显示 mod 吗?

答案1

不,bash -l不显示每日消息。来自motd(5)的手册页:

名称 motd - 当天的消息

说明 pam_motd(8) 在成功登录后但在执行登录 shell 之前显示 /etc/motd 的内容。

要让您的 shell 执行此操作,请添加cat /etc/motd到您的配置文件或 shell rcfile。

答案2

每次 bash 登录时获取该消息可能会很烦人,因此我设置了一个小测试,~/.bashrc每 24 小时显示一次 motd:

touch -d "yesterday" ~/.yesterday
if [ ~/.last-motd -ot ~/.yesterday ]; then
    touch ~/.last-motd
    [ -f /etc/motd ] && cat /etc/motd
    [ -d /etc/update-motd.d ] && run-parts --lsbsysinit /etc/update-motd.d
fi
rm ~/.yesterday

这将显示当天的常用消息,包括任何更新消息(例如,当固件升级可用时)。

相关内容