我想知道如何更改登录服务器时显示的名称。
例如,我通过 SSH 进入服务器,它会显示我的用户名@ec2 实例 ip。
example: [email protected]
what I want: username@production
我不想让它影响任何 DNS、主机、主机名或 IP 内容,只想给它一个昵称,有什么建议吗?
另一个例子:当 Cron 完成其工作时,它会从 root 发送一封电子邮件
Cron <root@ip-10-0-0-129>.....
what I want: Cron <root@production>.....
谢谢!
答案1
您要更改的是PS1
变量。它不是环境变量,而是bash shell 变量。如果你有兴趣了解更多看这里。
简而言之,如果您只想更改传统上看到的服务器名称的部分,只需更改为以下内容:
1 在终端中echo $PS1
,您可能会看到类似以下内容:
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
其中 \u 代表用户名,\h 代表主机名。
2 仍然在终端尝试执行:
PS1="\[\e]0;\u@\What you want the hostname to be: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@What you want the hostname to be\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$"
请注意,这里需要添加引号,但不会出现在第 3 阶段。
3 对结果满意后,转到 .bashrc 文件并替换定义 PS1 的行中的内容。请注意,它在文件中出现了几次,每次都应该以不同的方式单独更改(理想情况下至少如此)。保存并退出文件。
4 输入. ~/.bashrc
,这将重新加载文件并开始显示您设置的提示符。我们目前所做的一切都将为您的用户更改它。它不会为 root 用户更改它。为此,您必须以类似的方式编辑文件 /root/.bashrc。
祝你好运!