在 Fish shell 中获取默认的 ubuntu motd

在 Fish shell 中获取默认的 ubuntu motd

我想在fish shell 中安装Ubuntu 的MOTD。

Ubuntu的默认情况如下:

默认 Ubuntu MOTD

这本质上就是我打开终端时希望看到的内容(终止符,它加载鱼鱼)据我所知(根据信息这里),默认 shell 执行 pam_motd,pam_motd 又执行 /etc/update-motd.d 中的一堆脚本

我不知道如何在鱼壳中自信地做到这一点。我通过搜索没有找到任何信息。

干杯

答案1

把这个放在你的~/.config/fish/config.fish

function fish_greeting
  status --is-login
  if [ $status != 0 ] 
    cat /run/motd.dynamic
  end 
end

这将确保您在远程登录时不会收到双重 motd。

答案2

您提到的所有执行都在启动时发生,它们/etc/motd 只是cat /etc/motd在您的配置文件中生成文件,即。添加

cat /etc/motd

到文件~/.config/fish/config.fish

/B2S

答案3

来自鱼壳文档:

如果初始化后存在名为fish_greeting的函数,则在进入交互模式时将运行该函数。否则,如果存在名为fish_greeting的环境变量,则会打印该变量。

当您设置fish_greeting时,这会覆盖默认的帮助文本。

在正确设置的 Ubuntu 系统中,当天的消息是通过 /etc/update-motd.d 中的一系列脚本创建的,并缓存在 /run/motd 中。所以你可以添加到~/.config/fish/config.fish

function fish_greeting
    cat /run/motd
end

答案4

Debian-based比如Ubuntuhas /etc/issue,这可以是一组转义码,比如 \n \l ,当你尝试从另一个登录时tty你会看到 /etc/issue 的内容。当然这是在可能的情况下你不使用 MOTD 系统。

相关内容