假設我正在重新安裝Debian,Jessie(或Wheezy)。作爲一個普通用戶,我有在/etc/bash.bashrc
文件中定義的提示,最終由一個在我/home/foobar/.bashrc
Debian .bashrc:提示PS1
好了,冷靜,所以我有類似的東西覆蓋:[email protected]:~$
現在,我正在努力瞭解下面的代碼:
# If this is an xterm set the title to [email protected]:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\[email protected]\h: \w\a\]$PS1"
;;
*)
;;
esac
正如你所看到的,PS1變量(=提示)似乎有再次overrided(原因是啊,我在xterm
我)。但我不明白爲什麼我們還有另一個$PS1
在行末!
爲了得到這一點,我已經把3個字母a
在這一行b
c
:
PS1="a\[\e]0;${debian_chroot:+($debian_chroot)}\[email protected]\h: \w\a\]b$PS1 c"
而現在,我有下面的怪提示:
[email protected]:~$ c
如此看來幾乎整條線都不能使用,所有的線束之間都是這樣。
- 這是一種條件語句嗎?
- 這條線的目的是什麼?
- 爲什麼評論談論xterm窗口的標題,但似乎 只覆蓋PS1?我通過
PuTTY
運行這個xterm;在Ubuntu的,這條線是完全不同的PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
這是Debian長期以來屢屢發生的故障之一,它將用戶家中的文件搞亂。條件語句是Bash的參數擴展,這裏很好地解釋了這一點:http://wiki.bash-hackers.org/syntax/pe – ceving
這對了解如何調整Bash提示可能很有用:http://www.tldp .org/HOWTO/Bash-Prompt-HOWTO/ – ceving
最後的'$ PS1'可以讓PS1先前被定義,這只是將文本前置到它而不是替換它。 –