推荐一款shell自定义提示符Sexy Solarized Bash Prompt

提示符效果:

代码:

# Sexy Solarized Bash Prompt, inspired by "Extravagant Zsh Prompt"
# Customized for the Solarized color scheme by Sean O‘Neil
if tput setaf 1 &> /dev/null; then
    if [[ $(tput colors) -ge 256 ]] 2>/dev/null; then
      BASE03=$(tput setaf 234)
      BASE02=$(tput setaf 235)
      BASE01=$(tput setaf 240)
      BASE00=$(tput setaf 241)
      BASE0=$(tput setaf 244)
      BASE1=$(tput setaf 245)
      BASE2=$(tput setaf 254)
      BASE3=$(tput setaf 230)
      YELLOW=$(tput setaf 136)
      ORANGE=$(tput setaf 166)
      RED=$(tput setaf 160)
      MAGENTA=$(tput setaf 125)
      VIOLET=$(tput setaf 61)
      BLUE=$(tput setaf 33)
      CYAN=$(tput setaf 37)
      GREEN=$(tput setaf 64)
    else
      BASE03=$(tput setaf 8)
      BASE02=$(tput setaf 0)
      BASE01=$(tput setaf 10)
      BASE00=$(tput setaf 11)
      BASE0=$(tput setaf 12)
      BASE1=$(tput setaf 14)
      BASE2=$(tput setaf 7)
      BASE3=$(tput setaf 15)
      YELLOW=$(tput setaf 3)
      ORANGE=$(tput setaf 9)
      RED=$(tput setaf 1)
      MAGENTA=$(tput setaf 5)
      VIOLET=$(tput setaf 13)
      BLUE=$(tput setaf 4)
      CYAN=$(tput setaf 6)
      GREEN=$(tput setaf 2)
    fi
    BOLD=$(tput bold)
    RESET=$(tput sgr0)
else
    # Linux console colors. I don‘t have the energy
    # to figure out the Solarized values
    MAGENTA="\033[1;31m"
    ORANGE="\033[1;33m"
    GREEN="\033[1;32m"
    PURPLE="\033[1;35m"
    WHITE="\033[1;37m"
    BOLD=""
    RESET="\033[m"
fi

parse_git_dirty () {
    [[ $(git status 2> /dev/null | tail -n1) != "nothing to commit, working directory clean" ]] && echo "*"
}
parse_git_branch () {
    branch=$(git branch --no-color 2> /dev/null | sed -e ‘/^[^*]/d‘ -e "s/* \(.*\)/\1$(parse_git_dirty)/")
    echo $branch
}

parse_svn_branch() {
    svn info &> /dev/null && parse_svn_url
}
parse_svn_url() {
    local url=$(svn info 2>/dev/null | sed -ne ‘s#^Relative URL: ##p‘)
    if [[ $url =~ trunk ]]; then
        echo trunk
    elif [[ $url =~ /branches/ ]]; then
        echo $url | sed -e ‘s#^.*/branches/\([^/]*\).*$#branch:\1#‘
    elif [[ $url =~ /tags/ ]]; then
        echo $url | sed -e ‘s#^.*/tags/\([^/]*\).*$#tag:\1#‘
    fi
}

parse_vcs() {
    branch=$(parse_git_branch)
    if [ -n "$branch" ]; then
        echo $branch
    else
        parse_svn_branch
    fi
}

PS1="\[${BOLD}${CYAN}\]\u \[$BASE0\]in \[$BLUE\]\w\[$BASE0\]\$([[ -n \$(git branch 2> /dev/null) || -n \$(svn info 2> /dev/null) ]] && echo \" on \")\[$YELLOW\]\$(parse_vcs)\[$BASE0\] \$ \[$RESET\]"

使用方法:

.
代码保存到 ~/prompt.sh
编辑.bashrc, 追加一行脚本:
. ~/prompt.sh

注意事项:

.
可以先手动执行一下脚本,调试下效果: . ~/prompt.sh
如果有回车符\r之类的报错, 请编辑下prompt.sh, 删除其中的windows回车符\r, 因为linux下只是别换行符\n。
时间: 2024-08-05 11:14:03

推荐一款shell自定义提示符Sexy Solarized Bash Prompt的相关文章

推荐10款免费而优秀的图表插件

开发人员很多时候需要使用图表来表现一些数据,而一张图表往往能够比几行密密麻麻的数字表格更能直观地展示数据内容.随着Web技术的发展,从传统只能依靠于flash.IE的vml,各个浏览器尚不统一的svg,到如今规范统一的canvas.svg为代表的html5技术,表现点.线.面要素的技术已经越来越规范成熟.我在本篇文章中收集了10款免费开源且比较优秀的图表制作插件,以供各位参考. 1,ichartjs(国产) ichartjs是一款优秀的国产开源插件,作者是王鹤,英文名taylor,毕业于南昌大学

【录教程必备】推荐几款屏幕录制工具(可录制GIF)

我们经常会遇到一些场景,需要你向别人展示一些操作或是效果——例如告诉别人某某软件的配置步骤啊.刚设计出来网站的动画效果怎么样啊.某某电影里面的一个镜头多么经典啊.打得大快人心的NBA绝杀瞬间是怎么回事啊,等等.... 这些场合,如果单纯截成图片有时难以说清楚,但录成视频又不方便在社交软件上传播,这时就需要一个能够生成动态图的软件了,本文就将介绍几款轻便实用的动态图截取工具 阅读导览 1.FScapture 2.LICEcap 3.ScreenToGif 总结 相关链接及文件下载 1.FScapt

推荐几款屏幕录制工具(可录制GIF)

我们经常会遇到一些场景,需要你向别人展示一些操作或是效果--例如告诉别人某某软件的配置步骤啊.刚设计出来网站的动画效果怎么样啊.某某电影里面的一个镜头多么经典啊.打得大快人心的NBA绝杀瞬间是怎么回事啊,等等.... 这些场合,如果单纯截成图片有时难以说清楚,但录成视频又不方便在社交软件上传播,这时就需要一个能够生成动态图的软件了,本文就将介绍几款轻便实用的动态图截取工具 阅读导览 1.FScapture 2.LICEcap 3.ScreenToGif 总结 相关链接及文件下载 1.FScapt

推荐10款非常优秀的 HTML5 开发工具

HTML5 发展如火如荼,随着各大浏览器对 HTML5 技术支持的不断完善以及 HTML5 技术的不断成熟,未来 HTML5 必将改变我们创建 Web 应用程序的方式.今天这篇文章向大家推荐10款优秀的HTML5开发工具,帮助你更高效的编写 HTML5 应用. Initializr Initializr 是制作 HTML5 网站最好的入门辅助开发工具,你可以使用提供的特色模板快速生成网站,也可以自定义,Initializr 会为你生成代码简洁的可定制的网页模板. → 访问 Initializr

推荐一款超强大的基于Angularjs的自动完成(Autocomplete)标签及标签组插件–ngTagsInput

前言 今天利用中午午休时间,给大家分享推荐一款基于Angularjs的自动完成(Autocomplete)标签及标签组插件--ngTagsInput,功能超强大的.不信,你试试就知道^_^... AutoComplete-- 自动完成对开发人员来说应该不会太陌生,特别是前端开发者.即用户在文本框中输入内容或者当文本框获得焦点时智能提示与用户输入有关的建议内容.最常见的 百度(baidu.com).谷歌(google.com)等的搜索框就是这样来设计的.目的是为了给用户提供一个更好的输入体验. 在

推荐20款基于 jQuery & CSS 的文本效果插件

jQuery 和 CSS 可以说是设计和开发行业的一次革命.这一切如此简单,快捷的一站式服务.jQuery 允许你在你的网页中添加一些真正令人惊叹的东西而不用付出很大的努力,要感谢那些优秀的 jQuery 插件. 所以今天我们将展示一些很酷的文本效果插件,将帮助你为你的 Web 页面创建一些很酷的和动态的东西.这里是20个基于 jQuery & CSS 的文本效果插件. 您可能感兴趣的相关文章 12款经典的白富美型 jQuery 图片轮播插件 让网站动起来!12款优秀的 jQuery 动画插件

推荐几款实用的Android Studio 插件

推荐几款实用的Android Studio 插件 泡在网上的日子 发表于 2015-10-09 10:47 第 17453 次阅读 插件,Android Studio 10 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! 原文出处:http://www.jianshu.com/p/6f5f818afe4b 1.android-butterknife-ze

推荐15款最佳的 jQuery 分布引导插件

当用户浏览到一个网站,它可能从不知道如何浏览,如何操作网站或 Web 应用程序的内容和流程.在这篇文章中,我们编制了一些最好的 jQuery 引导插件列表.你会发现这些插件对于提高你的网站的整体用户体验真正有用,将引导您轻松创建网站的指引功能,并帮助您自定义并实现令人惊叹的外观. 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码

推荐几款我一直在用的chrome插件(下)

请先看:推荐几款我一直在用的chrome插件(上) 6. Pocket 可以很方便的保存文章.视频等供以后查看,即实现了"Read it later"功能.有了 Pocket,您可以将所有想下次读的内容汇聚到一个地方,然后在任何设备上随时查看.Pocket还提供了另外一个功能,即可以通过发送邮件的方式来保存内容(不需要点击这个插件),发送链接URL到[email protected]即可保存(发送的Email是你注册pocket时使用的Email),当然这种方式比较麻烦,不过可以在没有