如何自定義終端顯示配置

大雄45發表於2020-04-12
導讀 之前有讀者問到,如何在終端顯示當前的git分支,實際上這就是自定義終端顯示配置了。不過在直接介紹如何顯示當前分支之前,來看看到底怎麼回事。
bashrc配置

每次我們登入一個 終端的時候,前面都有一些固定的顯示資訊:

root@ubuntu:#

這些顯示資訊其實可以配置的。
我們開啟使用者家目錄下的.bashrc檔案,找到類似下面的關於PS1的內容:

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

這裡就是用來配置你的終端顯示的了。
舉個例子:

$ echo -e "\033[31m red color \033[0m"
 red color

如何自定義終端顯示配置如何自定義終端顯示配置

而其他的符號什麼意思呢?

\d :代表日期,
\H :完整的主機名稱
\h :僅取主機的第一個名字
\t :顯示時間為24小時格式,如:HH:MM:SS
\T :顯示時間為12小時格式
\A :顯示時間為24小時格式:HH:MM
\u :使用者名稱
\v :BASH的版本資訊
\w :完整的工作目錄名稱
\W :列出最後一個目錄
\$ :提示字元,如果是root時,提示符為:# ,普通使用者則為:$

所以說白了,就是根據你自己的需要配置自己終端想要的資訊。

這個時候我們再來看前面的其中一條簡單的配置:

'${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '

$debian_chroot這裡我們可以忽略,因為它是一個變數的值,我們完全可以自定義。

可以看到這裡有:

\u 使用者名稱
\h 主機名
\W 最後一個目錄名
\$ 提示字元

而透過 獲取的相關內容分別為:

$ whoami
root
$ hostname
ubuntu
$ basename `pwd`
公眾號程式設計珠璣

所以我的終端最終顯示的是:

root@ubuntu:公眾號程式設計珠璣#

通常來說,預設的配置就可以了,經常需要改動的可能就是預設它顯示了全路徑,這裡只需要將\w 替換為 \W即可。

然後執行 :

source ~/.bashrc

讓配置生效即可。

再來梳理一下過程:

  • 根據需要修改PS1顯示項
  • 執行source .bashrc使其生效

這裡注意, 啟動過程中,配置檔案載入是有順序的,

某使用者家目錄下的bashrc隻影響當前使用者,如果想要全系統修改生效,可以修改/etc/bash.bashrc(系統差異,可能不一樣)。

如何顯示當前git分支

其實到這裡你應該基本上已經明白了,無非就是將git當前分支的資訊配置在PS1中罷了。

如何獲取當前git分支

我們都知道:

$ git branch
  master
* testBranch

可以檢視分支資訊,其中前面有*的表示當前所在分支,所以我們透過字元處理拿到即可。

或者直接透過命令:

$ git rev-parse --abbrev-ref HEAD
testBranch

拿到。

將分支資訊配置在PS1中

考慮到有的目錄下可能並不存在git專案,所以需要做是否為空的判斷,也要注意處理標準錯誤。因此將獲取git分支資訊的部分寫成一個shell函式:

git_branch()
{
   branch=`git rev-parse --abbrev-ref HEAD 2>/dev/null`
   if [ "${branch}" != "" ]
   then
       if [ "${branch}" = "(no branch)" ]
       then
           branch="(`git rev-parse --short HEAD`...)"
       fi
       echo "($branch)"
   fi
}

將其加入到.bashrc檔案結尾中,然後修改PS1的內容:

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W$(git_branch)\$ '
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W$(git_branch)\[\033[00m\]\$ '

修改完成後儲存,執行:

$ source ~/.bashrc

當前裡面的顏色你可以根據自己的需要自定義。再來看看之前的效果,是不是覺得沒那麼難配置了?

如何自定義終端顯示配置如何自定義終端顯示配置

總結

實際上就是根據自己的需要去配置終端顯示罷了,可以自己選擇顏色,變數內容等等。

原文來自: 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2685691/,如需轉載,請註明出處,否則將追究法律責任。

相關文章