-1

我一直在寻找错误的答案。我一次打开了许多终端窗口,并且......如果我分心于另一份工作并回来,我想要一种快速的方法来查看我当前登录到服务器的位置。

因为我在一个 Drupal 站点上工作,所以有两个结构相同的独立服务器,所以我试图避免向上滚动或使用历史记录和查找。我的提示在两个不同的服务器上是相同的,因此没有快速参考。

Netstat并没有真正做到这一点,因为 IP 不同并且无法立即识别并且arp已关闭但显示防火墙 IP 而不是特定服务器。

我为 www.server1.com 和 www.server2.com 设置了别名,这样我就可以快速登录......正如我所提到的,这一天很忙,所以我想选择一个终端窗口,输入一个命令然后繁荣看, “啊,这是 server1.com”

是否有一个命令实际上显示“您当前已登录......并且 IP# 或人类可读的 url 都可以。

我已经对其他服务器终端窗口进行了颜色编码,这很酷,但我确定我刚刚找到了一些命令?

4

2 回答 2

2

hostname打印当前登录的主机名。

ifconfig应该显示 IP 地址。

设置诸如 PS1 之类的 bash environmnet 变量可以得到提示。例如:

export PS1="\u@\h:\w\n\$ "

这将在提示中显示登录用户、主机名和当前工作目录。

将导出添加到您的 $HOME/.bashrc 应该保持它的持久性。

更新:由于您说两个系统之间的 IP 地址不同,您可以将其添加到您的 bashrc(将 eth0 更改为系统上已知的任何接口)

HOST_IPADDR=$(ifconfig eth0 | sed -n '/inet /{s/.*addr://;s/ .*//;p}')
if [ "$HOST_IPADDR" == "a.b.c.d" ]; then
    export PS1="\u@\h-DEV:\w\n\$ "
elif [ "$HOST_IPADDR" == "e.f.g.h" ]; then
    export PS1="\u@\h-PROD:\w\n\$ "
fi
于 2013-02-26T20:52:57.977 回答
1
hostname

打印当前主机的名称。您可能还想通过修改PS1变量(在 Bash 中)将主机名放在提示符中,例如

PS1='\u@\h \w'

得到类似的提示

username@someserver /tmp$

(把它放在你的.bashrc里面,让它在登录会话之外持续存在)。

于 2013-02-26T20:49:04.603 回答