我需要使用脚本更改 MOTD 的值,但我不知道应该如何开始。附上 MOTD 样本。
答案1
要以您在示例中显示的样式生成 MOTD,您可能需要使用该banner
命令。您可以将命令的输出提供给它hostname
,以获得服务器名称的漂亮横幅。
要使其成为您的 MOTD,您只需将这些命令的输出定向到文件/etc/motd
,该文件用于显示 MOTD。
$ ...cmd... > /etc/motd
笔记:我将在下面显示的命令可以交换为...cmd...
.
例子
$ banner $(hostname)
##### ###### ####### ####### # # ####### ##### #####
# # # # # # ## # # # # # #
# # # # # # # # # # #
# #### ###### ##### ##### # # # ##### # #### # ####
# # # # # # # # # # # # # #
# # # # # # # ## # # # # #
##### # # ####### ####### # # ####### ##### #####
这一款内衬几乎可以满足您的需求:
$ (banner "server"; \
printf "Hostname: %s\nDate : %s\nUptime :%s\n\n", \
"$(hostname -s)" "$(date)" "$(uptime)")
##### ####### ###### # # ####### ######
# # # # # # # # # #
# # # # # # # # #
##### ##### ###### # # ##### ######
# # # # # # # # #
# # # # # # # # # #
##### ####### # # # ####### # #
Hostname: greeneggs
Date : Thu Apr 24 22:39:23 EDT 2014
Uptime : 22:39:23 up 3 days, 8:34, 6 users, load average: 0.80, 1.06, 1.49
印刷盒
除了使用命令行工具banner
打印横幅文本之外,您还可以使用另一个名为的帮助工具boxes
将任意文本包裹在一个盒子中。
$ boxes -d shell -p a1l2 <(hostname -s)
##############
# #
# greeneggs #
# #
##############
我们可以使用这种方法并将其扩展以完成您想要的操作,如下所示:
$ boxes -d shell -p a1l2 \
<(banner "server"; \
printf "Hostname: %s\nDate : %s\nUptime :%s\n" \
"$(hostname -s)" "$(date)" "$(uptime)")
###################################################################################
# #
# #
# ##### ####### ###### # # ####### ###### #
# # # # # # # # # # # #
# # # # # # # # # # #
# ##### ##### ###### # # ##### ###### #
# # # # # # # # # # #
# # # # # # # # # # # #
# ##### ####### # # # ####### # # #
# #
# Hostname: greeneggs #
# Date : Thu Apr 24 22:54:09 EDT 2014 #
# Uptime : 22:54:09 up 3 days, 8:49, 6 users, load average: 0.63, 0.81, 1.09 #
# #
###################################################################################
答案2
如果您想生成动态 MOTD,请查看此最新指南
https://ownyourbits.com/2017/04/05/customize-your-motd-login-message-in-debian-and-ubuntu/
基本上,你必须
1)创建/etc/update-motd.d
2)将你的脚本放在那里
答案3
motd
只是一个文件。从man motd
:
NAME
motd - message of the day
DESCRIPTION
The contents of /etc/motd are displayed by login(1) after a successful
login but just before it executes the login shell.
The abbreviation "motd" stands for "message of the day", and this file has
been traditionally used for exactly that (it requires much less disk space
than mail to all users).
FILES
/etc/motd
从脚本的角度来看,像这样简单的事情就足够了:
#!/bin/sh
printf " Welcome to $(hostname -s)\n\n" > /etc/motd