石锅拌饭

可以显示git状态的shell prompt

by Robin Lu on Jan.15, 2009, about , ,

[更新:2009/11/05] 增加了一个小功能,如果本地分支有未推送到对应远端分支的内容,会有提示。

最近看了一些和shell prompt 有关的文章,把自己的shell prompt调整了一下。

在一般目录里就是这样:
Prompt1
分别显示用户名@主机、时间和当前目录。

如果当前目录刚好是一个git repository,就是这样:
Prompt2
后面会多出当前的git branch的名字。

如果当前git repository有还没提交的内容,git branch名就是红色的:
Prompt3

这是我使用的prompt文件,可以把它的内容加在.bash_profile或者source引用到环境脚本里。

. prompt.sh

适用环境为Mac OS X 10.5的Terminal+bash。

相关文章:
Tip: Prompt Magic
bashish
add the current git branch to your prompt

:, ,

8 Comments for this entry

  • Jason Lai

    不错不错。我根据你的版本自己改了改,搞出了个自己的版本。

    补齐 prompt bar 长度的 LINE 还是替换成每次自动计算的吧,否则 Term 的窗口最大化以后,列数变多,行尾补齐的 – 就少掉了,这样就不太好看了:)

  • Jason Lai

    貌似 Robin 和我一样喜欢用 Novel 的肉色 Term 背景,对视力好而且养眼 :)

  • Tin

    真棒!喜欢这个$PS1。原本我把git的branch显示在原来的$PS1后面的。我是学的ongoing同学的米色背景,和@jason与@robinlu同学这个肉色比要亮一些。

  • apex

    出现这样的error?!

    expr: syntax error
    -bash: test: -gt: unary operator expected

    我是OSX 10.5.6

  • apex

    最后我改成这样了:-_-

    export PS1=’┌────[\u@\h]─────[\t]─────[\W]─────$(parse_git_branch)────────────

  • Robin Lu

    啥时候大家可以一起秀一秀prompt。呵呵

  • GMark

    @apex.
    我这也有这问题,貌似$column在初次运行得时候取不到?现在设成定宽了。

  • Summer

    看来超赞的 Novel theme真的很受欢迎。本来想问有没有svn的 promot,现在看来,我得装个git server了

Search

Archives

Browse by tags

agile apple blog book design ecto extension firefox git google hack ichm iphone keyword life mac madfox movie nonsense opensource plugin pm ruby rubyonrails sns software startup wordpress work 财帮子