ArchLinux
VirtualBox
Git
$PS1
Promt color
简介:在Arch Linux 命令行下安装Git,并设置bash提示符,使之显示当前分支
一、安装Git
pacman -Sy git
二、基本设置
git config --global user.name "Yourname"
git config --global user.name "Youremail@xxx.com"
git config --global core.editor vim
# 上述设置会体现在 ~/.gitconfig文件当中,只对当前用户有效。
如果使用GitHub,可能会用到SSH Key
ssh-keygen -t rsa -C "Youremail@xxx.com"
# 会提示输入密码,可为空
上述命令会在~/.ssh/
中生成两个配对文件id_rsa
和id_rsa.pub
,用途是将id_rsa.pub
中的内容添加到你的GitHub的信任列表当中,之后Git需要访问GitHub的时候就会拿本地的id_rsa
和它去匹配,就不用提示你输入密码了。
三、设置提示符路径中显示当前Git分支
编辑~/.bashrc
文件
vim ~/.bashrc
按以下内容修改:<简单测试OK,欢迎完善>
# 添加以下内容
function get_git_branchname ()
{
local dir=.
until [ "$dir" -ef / ]
do
if [ -f "$dir/.git/HEAD" ]; then
git_branchname=$(git symbolic-ref --short -q HEAD 2>/dev/null)
git_branchname=" ("$git_branchname")" # 左括号前有一个空格
return
else
dir="../$dir"
fi
done
git_branchname=''
}
PROMPT_COMMAND="get_git_branchname; $PROMPT_COMMAND"
# 修改PS1
PS1='\[\e[32;1m\]\u@\h:\[\e[34;40m\][\w\[\e[36;1m\]$git_branchname\[\e[34;40m\]] \[\e[0m\]\$ '
附
1.对PS1
所赋值按顺序拆分说明:
<u>\[\e[32;1m\]
:字体绿色高亮显示
\u
:用户
@
:显示字符@
\h
:主机名称hostname
:
:显示字符:
\[\e[34;40m\]
:字体蓝色背景黑色
[
:显示字符[
\w
:当前工作路径Working Directory
\[\e[36;1m\]
:字体青色高亮
$git_branchname
:变量git_branchname的值
\[\e[34;40m\]
:字体蓝色背景黑色
]
:显示字符]
空格
:显示一个空格
\[\e[0m\]
:关闭颜色输出
\$
:提示字符,root为:# ,普通用户则为:$
空格
:显示一个空格</u>
2.对PS1
的颜色说明:
To add colors to the shell prompt use the following export command syntax:
<u>\e[x;ym $PS1 \e[m</u>
Where,
-
\e[ _;_ m
: Start color scheme. -
X;Y
: Color pair to use (X;Y) -
$PS1
: Your shell prompt variable. -
\e[m
或\e[0m
: Stop color scheme.
说明:
- 当颜色设置符出现了,其后面所有的字符都要按照它的要求显示(包括用户输入的命令),除非遇到另外一种颜色设置改变或者颜色输出结束标记结束。
- 需要在颜色前后加
[ ]
,否则在终端需要输入长命令的时候,超界内容不会自动换行,而是在行首开始覆盖。但是不能直接增加[ ]
,需要进行转义,这就是多了许多\[
,\]
的原因。 - Color pair--
X;Y
,经过测试并不是按照常理——X
决定字体颜色,Y
决定背景颜色。而是仅仅通过数字来控制,和位置没有关系——32;45
和45;32
效果是一样的,32;32
和0;32
效果是一样的。
颜色表参考:
前景 背景 颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫色
36 46 青色
37 47 白色
特殊意义数字:
代码 意义
0 OFF
1 高亮显示
4 underline
5 闪烁
7 反白显示
8 不可见