Mercurial > ec-dotfiles
view rc/bash @ 269:cd48b7a5cddd
As it turns out, Solaris' grep isn't POSIX.
author | Edho Arief <edho@myconan.net> |
---|---|
date | Thu, 24 Nov 2011 15:10:24 +0700 |
parents | feab84a8efdb |
children | 0e41725e7d38 |
line wrap: on
line source
#!/usr/bin/env bash case "${-}" in *i*) ;; *) return;; esac if [ "${ECOS_BASH_LOADED}" != "yes" ]; then ECOS_BASH_LOADED="yes" else return fi [ -f "${HOME}/.ecos_bash.before" ] && . "${HOME}/.ecos_bash.before" _org_path="${PATH}" export PATH="${HOME}/.ecos_bin:${HOME}/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" shopt -s histappend PROMPT_COMMAND='history -a' export HISTFILESIZE=10000 export HISTCONTROL=ignoredups export PAGER="less -Rins" export EDITOR=vi export LANG="en_US.UTF-8" export CLICOLOR= export LSCOLORS=ExGxFxdxCxegedabagExEx alias less="less -Rins" alias ls="ls -F" alias rm="rm -i" alias rd="rdesktop -g 1280x600 -K -a 16 -z -P -r sound:off -r clipboard:CLIPBOARD -5" _has_gnu_ls= _has_gnu_grep= _ls="ls" case "$(uname -s)" in Linux) _has_gnu_ls=y _has_gnu_grep=y ;; SunOS) [ -x /usr/gnu/bin/ls ] && _has_gnu_ls=y [ -x /usr/gnu/bin/grep ] && _has_gnu_grep=y # Higher priority directories for i in {/opt/csw,/usr/gnu}/{,s}bin; do [ -d "${i}" ] && PATH="${i}:${PATH}" done for i in /usr/{sfw,xpg4}/bin; do [ -d "${i}" ] && PATH="${PATH}:${i}" done alias ping="ping -s" alias ping6="ping -A inet6" # Hello tmux. Perhaps one day we'll have title with dtterm. # But for now we work this around by prepending tmux call with xterm-256color # which hopefully exists. Otherwise we have to live with no title. if [ -f /usr/share/lib/terminfo/x/xterm-256color ]; then alias tmux="TERM=xterm-256color tmux" else echo "No xterm-256color, using dtterm. Tmux title won't work." fi [ -f /usr/share/lib/terminfo/?/"${TERM}" ] || export TERM=dtterm ;; OpenBSD) PATH="${PATH}:/usr/X11R6/bin" if command -v gls > /dev/null 2>&1; then _has_gnu_ls=y _ls="gls" elif command -v colorls > /dev/null 2>&1; then alias ls='colorls -F' fi ;; NetBSD) PATH="${PATH}:/usr/pkg/bin:/usr/pkg/sbin" if command -v gls > /dev/null 2>&1; then _has_gnu_ls=y _ls="gls" elif command -v colorls > /dev/null 2>&1; then alias ls='colorls -F' fi ;; CYGWIN*) export PATH="${PATH}:${_org_path}" ;; esac [ "${_has_gnu_ls}" = y ] && alias ls="${_ls} -F --color=auto" [ "${_has_gnu_grep}" = y ] && alias grep="grep --color=auto" unset _has_gnu_ls unset _has_gnu_grep unset _ls # Custom application I usually install and safe to prioritize for i in {"${HOME}/app","/opt"}/{tmux,ruby19,node,tarsnap,symon,nginx}/{bin,sbin}; do [ -d "${i}" ] && PATH="${i}:${PATH}" done # MySQL in common locations highest priority since new = better. Also no compatibility problem. # Cluster is superset of Enterprise/GPL so it gets highest priority. # And use only one. for mydir in {"${HOME}",/app{,s},/opt}/mysql/{{cluster,enterprise}/mysql/,}bin; do if [ -d "${mydir}" ]; then PATH="${mydir}:${PATH}" break fi done # Mercurial is optional since it will be inconsistent with ssh ... hg if this one gets priority. # And use only one. for hgdir in {"${HOME}/app","/opt"}/mercurial; do if [ -x "${hgdir}/hg" ]; then PATH="${PATH}:${hgdir}" break fi done case "${TERM}" in xterm*|screen*|dtterm*) PROMPT_COMMAND='echo -ne "\033]0;'"$(who am i | cut -d ' ' -f 1)@$(uname -n)"': ${PWD}\007";'"${PROMPT_COMMAND}" PS1='[\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\] \[\e[1;34m\]\W\[\e[0m\]]\$ ' ;; *) PS1='[\u@\h \W]\$ ' ;; esac if command -v vim > /dev/null 2>&1; then alias vi=vim export EDITOR=vim fi rm -If "/tmp/.nonexistent.$(date '+%Y%m%d%H%M%S')" 2> /dev/null && alias rm="rm -I" [ -f "${HOME}/.ecos_bash.after" ] && . "${HOME}/.ecos_bash.after"