當咱們打開或者登錄到一個終端的時候都會顯示一長串提示符bash
void@void-ThinkPad-E450:~$
提示符通常包含當前登錄的用戶名 ,主機名,以及當前工做路徑路徑,最後都是以 $ 或者 # 號結束,普通用戶以 $ 號結束,只有root用戶以 #結束。this
由於包含了當前工做路徑,因此當咱們切換工做路徑的時候,提示符也是會變化的,當咱們切換到一個很深層次的路徑或者目錄名稱很長很長的時候提示符也會變得很長,致使咱們須要輸入command的時候輸入光標已經到了終端最右邊。spa
void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$
咱們 能夠經過改變PS1變量來控制主提示符的內容,PS1是一個bash的內建變量,使用echo 能夠看到PS1的定義code
void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$ echo $PS1 \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$
\d 用」Week Month Date"的格式顯示日期 \H 主機名 \u 當前用戶的用戶名
\t 用"HH:MM:SS"的24小時格式顯示當前時間
\v bash 的版本號 \w 當前工做目錄 \$ 若是當前是root用戶則顯示字符#,不然西那時字符$
咱們能夠經過改變變量PS1的值來改變提示符的顯示內容blog
void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$it
void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$PS1='\u@\h\$' void@void-ThinkPad-E450$
void@void-ThinkPad-E450$cd ../../../
void@void-ThinkPad-E450$pwd
/home/void/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia
void@void-ThinkPad-E450$class
PS1='\u@\h\$'
以上 命令將 主提示符設置成只顯示用戶名@主機名$,這樣切換工做路徑到任何地方都不會影響主提示符的顯示,可是這種設置方法只對當前終端有效,若是要對當前用戶有效則須要修改~/.bashrc變量
if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" ;; *) ;; esac
修改最後一個 PS1的定義保存退出。終端