我使用很多虚拟机。用于测试和试生产设置。
我希望登录提示或标题显示机器的 IP 地址。这样,当我启动它时,我可以看到我将 ssh 进入的 IP。我们的网络工程使用 DHCP。所以它可以在启动之间改变。
$ cat /etc/issue
Ubuntu 11.04 \n \l
哪个出现
Ubuntu 11.04 [主机名] tty[x]
我希望它出现
Ubuntu 11.04 [主机名] tty[x] ip xxx.xxx.xxx.xxx
我正在考虑编写一个 init / upstart 脚本。有没有更好的办法。
在CentOS 7和Debian 8(也许还有其他)上,只需将以下行附加到/etc/issue
My IP address: \4
Run Code Online (Sandbox Code Playgroud)
这将解析为机器的 IPv4 地址。如果你有多个网络接口并且你想选择一个特定的,你可以用
My IP address: \4{eth0}
Run Code Online (Sandbox Code Playgroud)
对于使用 DHCP 租用 IP 的 CentOS 5,您可以使用以下脚本:
$ cat /etc/dhcp/dhclient.d/issue.sh
#!/bin/bash
update_issue() {
awk -v \
r="$(ip -o addr | awk '/inet [1-9]+/ { print $2 " " $4 }')" \
'{ gsub(/%INTERFACES%/,r) }1' \
/etc/issue.template > /etc/issue
}
issue_config() {
update_issue
}
issue_restore() {
update_issue
}
Run Code Online (Sandbox Code Playgroud)
有一个像这样的问题“模板”:
$ cat /etc/issue.template
CentOS release 6.5 (Final)
Kernel \r on an \m
%INTERFACES%
Run Code Online (Sandbox Code Playgroud)
记得
chmod +x /etc/dhcp/dhclient.d/issue.sh
Run Code Online (Sandbox Code Playgroud)
该awk命令来获得当前IP和取代它们的/etc/issue.template文件应该被移植到现代的Linux发行版。
| 归档时间: |
|
| 查看次数: |
15037 次 |
| 最近记录: |