2011-08-24 55 views
1

我在运行CentOS的服务器上做了一些工作,提示与Ubuntu bash命令行看起来不同。我最初以为这是一个不同的壳,但echo $SHELL告诉我,它仍然是bash。为什么bash在不同的linux/unix版本中看起来不同?

我主要是想知道这是否是一个配置的事情,并在此设置,例如,我的Ubuntu的bash提示:

[email protected]:~$ 

与CentOS的bash命令提示符下比较:

[[email protected] ~]# 

除了机器名称和用户(以root身份登录引起的#)明显的差异之外,CentOS在用户@机器周围有[〜],而Ubuntu更喜欢简单:〜在提示之前〜〜

+0

Linux和Unix的问题?无论如何,帕特里克的回答是对的。 – dysoco

回答

4

这是一个品味问题:每个人都可以使用env变量PS1配置他的PROMPT行。

例如:

PS1='\[email protected]\h:\w$' 

[email protected]:directory$ 

而目录是 '〜' 为您的家庭目录。

+0

是的,我刚刚意识到〜是为家,感觉像一个白痴,希望在任何人看到之前编辑帖子:P –

+0

@Tom为什么?提示自定义是值得了解更多有关... – glglgl

+0

哈哈我只是说,我意识到我已经知道了〜是什么,只是没有想过它,是要编辑我的原始帖子。 –

1

这看起来是这样的:

[email protected] [1314183327: Wed Aug 24 2011 12:55:27, 9/62261] 
-0 0 ~/p> 

即使有漂亮的颜色。为什么?因为我~/.bashrc包含行

PS1='\e[1;32;44m\u\e[1;[email protected]\e[1;34m\h\e[0m [\e[1;43;33m$(shellprompttemp=$?; LANG=C date +"%s: %a %b %d %Y"; exit $shellprompttemp)\e[1;37m \t\e[0m, \e[1;35m\#\e[0m/\e[1;36m\!\e[0m] \e[1;31;7m${?/#0}\e[0m\e[0m\n$(hg prompt '\''{\e[41;37mhg: {status}\e[0m\n}'\'' 2>/dev/null; dirs -p -v | tac | awk '\''{ $0=sprintf("%2d %s",NR-1,$0); sub(/^ */,"&-"); print; }'\'')> ' 

随着PS1,你必须对你的提示的样子完全控制。您可以通过man bash,第PROMPTING部分获得更多信息。

1

为不同的用户群体预先配置了不同的发行版。在桌面上,你主要只希望看到一个简单的提示,也许是当前目录;对于服务器发行版,每个服务器上的提示与每个其他服务器都有所不同,这样可以一目了然地告诉您登录的位置(管理员通常会同时登录到多个服务器) 。除此之外,这只是一个品味问题,通常是发行版Bash维护者的口味。开箱即用,Bash中的默认提示只是bash$(当您以root身份登录时,美元符号被替换为散列符号)。

相关问题