2011-08-24 100 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身份登錄時,美元符號被替換爲散列符號)。

相關問題