Linux 終端顯示 Git 當前所在分支
阿新 • • 發佈:2020-12-19
技術標籤:工具使用
一、前置預備知識
PS1是Linux終端使用者的一個環境變數,用來定義命令列提示符的引數。
-
在~/.bashrc中修改PS1的環境變數可以修改主機提示符
常規設定引數
PS1是主提示符變數,也是預設提示符變數。預設值[\[email protected]\h \W]\$,顯示使用者主機名稱工作目錄。
基本上通過設定PS1來定義命令列提示字元即可,最常用的需求就是顯示登入的使用者名稱、主目錄、主機名等等。
$export PS1='[\[email protected]\h \W]\$ \n\$' [[email protected] model]$ $
- PS1變數可以使用的引數值有如下:
引數 | 描述 |
---|---|
/d | 代表日期,格式為weekday month date,例如:”Mon Aug 1” |
/H | 完整的主機名稱。例如:我的機器名稱為:fc4.linux,則這個名稱就是fc4.linux |
/h | 僅取主機的第一個名字,如上例,則為fc4,.linux則被省略 |
/t | 顯示時間為24小時格式,如:HH:MM:SS |
/T | 顯示時間為12小時格式 |
/A | 顯示時間為24小時格式:HH:MM |
/u | 當前使用者的賬號名稱 |
/v | BASH的版本資訊 |
/w | 完整的工作目錄名稱。家目錄會以 ~代替 |
/W | 利用basename取得工作目錄名稱,所以只會列出最後一個目錄 |
/# | 下達的第幾個命令 |
/$ | 提示字元,如果是root時,提示符為:# $ |
/[ | 字元”[“ |
/] | 字元”]” |
/! | 命令列動態統計歷史命令次數 |
- PS1顏色設定引數
在PS1中設定字元顏色的格式為:\[\e[F;Bm\]........\[\e[0m\]其中“F“為字型顏色,編號為30-37,“B”為背景顏色,編號為40-47,\[\e[0m\]作為顏色設定的結束。 顏色對照表: F B 30 40 黑色 31 41 紅色 32 42 綠色 33 43 黃色 34 44 藍色 35 45 紫紅色 36 46 青藍色 37 47 白色 只需將對應數字套入設定格式中即可。 比如要設定命令列的格式為綠字黑底(\[\e[32;40m\]),顯示當前使用者的賬號名稱(\u)、主機的第一個名字(\h)、完整的當前工作目錄名稱(\w)、24小時格式時間(\t),可以直接在命令列鍵入如下命令:
$export PS1='[\[\e[32;40m\]\[email protected]\h \w \t]$ \[\e[0m\]'
[[email protected] ~/wly.dev/model 09:46:47]$
二、顯示git分支提示
- 基於上面PS1的基礎知識進行配置PS1的設定,如下
function git_branch {
branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`"
if [ "${branch}" != "" ];then
if [ "${branch}" = "(no branch)" ];then
branch="(`git rev-parse --short HEAD`...)"
fi
echo " → $branch"
fi
}
PS1='\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;32m\]$(git_branch)\[\033[00m\]\n\$'
- 效果圖