ubuntu – 用于远程服务器pipe理的自定义shell

当我pipe理远程服务器时,我的一个主要困难是,一旦它们之间的shell非常相似(实际上,在大多数情况下,只有用户是不同的),才能识别正在工作的服务器。

我想知道是可以创build自定义 shell考虑我连接的删除服务器。

感谢您的帮助,最好的问候!

如果你的意思是自定义shell 提示 ,看一下PS1variables( man bash ,searchPS1)。 它有很多select。 这里是一个完整的指南,但一开始尝试

export PS1=\u@\H \$> 

这给你一个提示就好

 [email protected] $> _ 

你是否利用PS1variables进行定制? 并非所有shell的所有版本都以相同的方式处理variables,但大多数版本将接受\ h作为主机名,\ u作为用户名,\ w作为当前工作目录。

请参阅此页面以获取更多选项,示例和build议。

关于ps1的调整,这是我在我的.bashrc中使用

 userName=`whoami` if [ $userName == "root" ] then PS1='\[\e[0;31m\]\u\[\e[0m\]@\[\e[0;35m\]\h\[\e[0m\][$?]\[\e[0;31m\][\W]\[\e[0m\]\[\e[0;31m\]\$\[\e[0m\]: ' else PS1='\[\e[0;32m\]\u\[\e[0m\]@\[\e[0;35m\]\h\[\e[0m\][$?]\[\e[0;31m\][\W]\[\e[0m\]\[\e[0;32m\]\$\[\e[0m\]: ' fi 

当用户名为root时,用户名为红色,否则为绿色。 并具有最后命令的主机名和返回码。 – 可能会帮助你。

另外,尝试byobu(如mrshunz的评论中所build议的)

只需使用一个唯一的自解释名称作为远程服务器的主机名。 然后,你将能够知道你在哪个服务器上工作!

您可以从/etc/hostname更改主机/etc/hostname 。 重新启动服务/etc/init.d/hostname restart 。 另外,不要忘记更新/etc/hosts文件。