Mercurial > ec-dotfiles
annotate rc/bash @ 262:9481aac47ac5
Always use dtterm for Solaris if no relevant TERM found (usually missing screen or xterm-256color).
| author | Edho Arief <edho@myconan.net> | 
|---|---|
| date | Thu, 24 Nov 2011 11:27:10 +0700 | 
| parents | 00ecebc73c73 | 
| children | c6c322c57e0e | 
| rev | line source | 
|---|---|
| 43 | 1 #!/usr/bin/env bash | 
| 2 | |
| 242 
ebfa844d2ef8
[bash] Also ensures interactive terminal.
 Edho Arief <edho@myconan.net> parents: 
238diff
changeset | 3 case "${-}" in | 
| 
ebfa844d2ef8
[bash] Also ensures interactive terminal.
 Edho Arief <edho@myconan.net> parents: 
238diff
changeset | 4 *i*) ;; | 
| 
ebfa844d2ef8
[bash] Also ensures interactive terminal.
 Edho Arief <edho@myconan.net> parents: 
238diff
changeset | 5 *) return;; | 
| 
ebfa844d2ef8
[bash] Also ensures interactive terminal.
 Edho Arief <edho@myconan.net> parents: 
238diff
changeset | 6 esac | 
| 
ebfa844d2ef8
[bash] Also ensures interactive terminal.
 Edho Arief <edho@myconan.net> parents: 
238diff
changeset | 7 | 
| 117 
548cf46e9cb4
Ensures no double loading using C-style variable test.
 Edho Prima Arief <edho@myconan.net> parents: 
112diff
changeset | 8 if [ "${ECOS_BASH_LOADED}" != "yes" ]; then | 
| 122 
eacc854eae67
Export should be used since it inherited to subshell (eg. tmux). Also hasten exit instead of fi on the bottom of file.
 Edho Prima Arief <edho@myconan.net> parents: 
117diff
changeset | 9 ECOS_BASH_LOADED="yes" | 
| 
eacc854eae67
Export should be used since it inherited to subshell (eg. tmux). Also hasten exit instead of fi on the bottom of file.
 Edho Prima Arief <edho@myconan.net> parents: 
117diff
changeset | 10 else | 
| 
eacc854eae67
Export should be used since it inherited to subshell (eg. tmux). Also hasten exit instead of fi on the bottom of file.
 Edho Prima Arief <edho@myconan.net> parents: 
117diff
changeset | 11 return | 
| 
eacc854eae67
Export should be used since it inherited to subshell (eg. tmux). Also hasten exit instead of fi on the bottom of file.
 Edho Prima Arief <edho@myconan.net> parents: 
117diff
changeset | 12 fi | 
| 117 
548cf46e9cb4
Ensures no double loading using C-style variable test.
 Edho Prima Arief <edho@myconan.net> parents: 
112diff
changeset | 13 | 
| 71 | 14 [ -f "${HOME}/.ecos_bash.before" ] && . "${HOME}/.ecos_bash.before" | 
| 49 
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
 Edho Prima Arief <me@myconan.net> parents: 
48diff
changeset | 15 | 
| 67 | 16 _org_path="${PATH}" | 
| 62 | 17 export PATH="${HOME}/.ecos_bin:${HOME}/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" | 
| 44 
1f1af28f36e9
[bash] Bashrc, c-style ifdef.
 Edho Prima Arief <me@myconan.net> parents: 
43diff
changeset | 18 | 
| 111 
fd8dbd4bb758
ls color for freebsd, history control.
 Edho Prima Arief <edho@myconan.net> parents: 
106diff
changeset | 19 shopt -s histappend | 
| 
fd8dbd4bb758
ls color for freebsd, history control.
 Edho Prima Arief <edho@myconan.net> parents: 
106diff
changeset | 20 PROMPT_COMMAND='history -a' | 
| 
fd8dbd4bb758
ls color for freebsd, history control.
 Edho Prima Arief <edho@myconan.net> parents: 
106diff
changeset | 21 export HISTFILESIZE=10000 | 
| 
fd8dbd4bb758
ls color for freebsd, history control.
 Edho Prima Arief <edho@myconan.net> parents: 
106diff
changeset | 22 export HISTCONTROL=ignoredups | 
| 
fd8dbd4bb758
ls color for freebsd, history control.
 Edho Prima Arief <edho@myconan.net> parents: 
106diff
changeset | 23 | 
| 53 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 Edho Prima Arief <me@myconan.net> parents: 
52diff
changeset | 24 export PAGER="less -Rins" | 
| 49 
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
 Edho Prima Arief <me@myconan.net> parents: 
48diff
changeset | 25 export EDITOR=vi | 
| 89 
29bd7f6ef58a
Explicit LANG declaration.
 Edho Prima Arief <me@myconan.net> parents: 
60diff
changeset | 26 export LANG="en_US.UTF-8" | 
| 101 
a1c6b40a535f
Ensure no Ubuntuism's ls color bastardization.
 Edho Prima Arief <edho@myconan.net> parents: 
96diff
changeset | 27 unset LS_COLORS | 
| 49 
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
 Edho Prima Arief <me@myconan.net> parents: 
48diff
changeset | 28 | 
| 53 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 Edho Prima Arief <me@myconan.net> parents: 
52diff
changeset | 29 alias less="less -Rins" | 
| 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 Edho Prima Arief <me@myconan.net> parents: 
52diff
changeset | 30 #assuming POSIX grep | 
| 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 Edho Prima Arief <me@myconan.net> parents: 
52diff
changeset | 31 alias fgrep="grep -F" | 
| 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 Edho Prima Arief <me@myconan.net> parents: 
52diff
changeset | 32 alias egrep="grep -E" | 
| 62 | 33 alias ls="ls -F" | 
| 34 alias rm="rm -i" | |
| 75 
f993714efa7b
cool alias, bro (rdesktop)
 Edho Prima Arief <me@myconan.net> parents: 
71diff
changeset | 35 alias rd="rdesktop -g 1280x600 -K -a 16 -z -P -r sound:off -r clipboard:CLIPBOARD -5" | 
| 53 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 Edho Prima Arief <me@myconan.net> parents: 
52diff
changeset | 36 | 
| 43 | 37 _has_rm_I= | 
| 38 _has_gnu_ls= | |
| 53 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 Edho Prima Arief <me@myconan.net> parents: 
52diff
changeset | 39 _has_gnu_grep= | 
| 238 
5dcbf6ab0109
Prioritize gnuls over colorls on OpenBSD. Modified GNU ls alias to allow different executable name.
 Edho Arief <edho@myconan.net> parents: 
141diff
changeset | 40 _ls="ls" | 
| 43 | 41 case "$(uname -s)" in | 
| 42 Linux) | |
| 43 _has_rm_I=y | |
| 44 _has_gnu_ls=y | |
| 96 
26c9dc482051
Merge. Linux obviously has gnu grep.
 Edho Prima Arief <edho@myconan.net> parents: 
75diff
changeset | 45 _has_gnu_grep=y | 
| 43 | 46 ;; | 
| 47 SunOS) | |
| 48 [ -x /usr/gnu/bin/rm ] && _has_rm_I=y | |
| 49 [ -x /usr/gnu/bin/ls ] && _has_gnu_ls=y | |
| 53 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 Edho Prima Arief <me@myconan.net> parents: 
52diff
changeset | 50 [ -x /usr/gnu/bin/grep ] && _has_gnu_grep=y | 
| 253 
e6de49d70fe7
(Not so) simplified solaris path add.
 Edho Arief <edho@myconan.net> parents: 
252diff
changeset | 51 # Higher priority directories | 
| 
e6de49d70fe7
(Not so) simplified solaris path add.
 Edho Arief <edho@myconan.net> parents: 
252diff
changeset | 52 for i in {/opt/csw,/usr/gnu}/{,s}bin; do | 
| 
e6de49d70fe7
(Not so) simplified solaris path add.
 Edho Arief <edho@myconan.net> parents: 
252diff
changeset | 53 [ -d "${i}" ] && PATH="${i}:${PATH}" | 
| 
e6de49d70fe7
(Not so) simplified solaris path add.
 Edho Arief <edho@myconan.net> parents: 
252diff
changeset | 54 done | 
| 
e6de49d70fe7
(Not so) simplified solaris path add.
 Edho Arief <edho@myconan.net> parents: 
252diff
changeset | 55 for i in /usr/{sfw,xpg4}/bin; do | 
| 
e6de49d70fe7
(Not so) simplified solaris path add.
 Edho Arief <edho@myconan.net> parents: 
252diff
changeset | 56 [ -d "${i}" ] && PATH="${PATH}:${i}" | 
| 
e6de49d70fe7
(Not so) simplified solaris path add.
 Edho Arief <edho@myconan.net> parents: 
252diff
changeset | 57 done | 
| 57 
ada5b9534765
[bash] Sanitize sunos ping.
 Edho Prima Arief <me@myconan.net> parents: 
56diff
changeset | 58 alias ping="ping -s" | 
| 
ada5b9534765
[bash] Sanitize sunos ping.
 Edho Prima Arief <me@myconan.net> parents: 
56diff
changeset | 59 alias ping6="ping -A inet6" | 
| 262 
9481aac47ac5
Always use dtterm for Solaris if no relevant TERM found (usually missing screen or xterm-256color).
 Edho Arief <edho@myconan.net> parents: 
261diff
changeset | 60 [ -f "/usr/share/lib/terminfo/?/${TERM}" ] || export TERM=dtterm | 
| 43 | 61 ;; | 
| 53 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 Edho Prima Arief <me@myconan.net> parents: 
52diff
changeset | 62 FreeBSD) | 
| 43 | 63 _has_rm_I=y | 
| 111 
fd8dbd4bb758
ls color for freebsd, history control.
 Edho Prima Arief <edho@myconan.net> parents: 
106diff
changeset | 64 export CLICOLOR= | 
| 
fd8dbd4bb758
ls color for freebsd, history control.
 Edho Prima Arief <edho@myconan.net> parents: 
106diff
changeset | 65 export LSCOLORS=ExGxFxdxCxegedabagExEx | 
| 43 | 66 ;; | 
| 62 | 67 OpenBSD) | 
| 255 | 68 PATH="${PATH}:/usr/X11R6/bin" | 
| 238 
5dcbf6ab0109
Prioritize gnuls over colorls on OpenBSD. Modified GNU ls alias to allow different executable name.
 Edho Arief <edho@myconan.net> parents: 
141diff
changeset | 69 if command -v gls > /dev/null 2>&1; then | 
| 
5dcbf6ab0109
Prioritize gnuls over colorls on OpenBSD. Modified GNU ls alias to allow different executable name.
 Edho Arief <edho@myconan.net> parents: 
141diff
changeset | 70 _has_gnu_ls=y | 
| 
5dcbf6ab0109
Prioritize gnuls over colorls on OpenBSD. Modified GNU ls alias to allow different executable name.
 Edho Arief <edho@myconan.net> parents: 
141diff
changeset | 71 _ls="gls" | 
| 
5dcbf6ab0109
Prioritize gnuls over colorls on OpenBSD. Modified GNU ls alias to allow different executable name.
 Edho Arief <edho@myconan.net> parents: 
141diff
changeset | 72 elif command -v colorls > /dev/null 2>&1; then | 
| 62 | 73 export CLICOLOR= | 
| 140 | 74 export LSCOLORS=ExGxFxdxCxegedabagExEx | 
| 62 | 75 alias ls='colorls -F' | 
| 76 fi | |
| 77 ;; | |
| 249 | 78 NetBSD) | 
| 255 | 79 PATH="${PATH}:/usr/pkg/bin:/usr/pkg/sbin" | 
| 249 | 80 if command -v gls > /dev/null 2>&1; then | 
| 81 _has_gnu_ls=y | |
| 82 _ls="gls" | |
| 83 elif command -v colorls > /dev/null 2>&1; then | |
| 84 export CLICOLOR= | |
| 85 export LSCOLORS=ExGxFxdxCxegedabagExEx | |
| 86 alias ls='colorls -F' | |
| 87 fi | |
| 88 ;; | |
| 67 | 89 CYGWIN*) | 
| 90 export PATH="${PATH}:${_org_path}" | |
| 91 ;; | |
| 43 | 92 esac | 
| 93 | |
| 62 | 94 [ "${_has_rm_I}" = y ] && alias rm="rm -I" | 
| 238 
5dcbf6ab0109
Prioritize gnuls over colorls on OpenBSD. Modified GNU ls alias to allow different executable name.
 Edho Arief <edho@myconan.net> parents: 
141diff
changeset | 95 [ "${_has_gnu_ls}" = y ] && alias ls="${_ls} -F --color=auto" | 
| 62 | 96 [ "${_has_gnu_grep}" = y ] && alias grep="grep --color=auto" | 
| 53 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 Edho Prima Arief <me@myconan.net> parents: 
52diff
changeset | 97 | 
| 49 
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
 Edho Prima Arief <me@myconan.net> parents: 
48diff
changeset | 98 unset _has_rm_I | 
| 
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
 Edho Prima Arief <me@myconan.net> parents: 
48diff
changeset | 99 unset _has_gnu_ls | 
| 58 | 100 unset _has_gnu_grep | 
| 238 
5dcbf6ab0109
Prioritize gnuls over colorls on OpenBSD. Modified GNU ls alias to allow different executable name.
 Edho Arief <edho@myconan.net> parents: 
141diff
changeset | 101 unset _ls | 
| 49 
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
 Edho Prima Arief <me@myconan.net> parents: 
48diff
changeset | 102 | 
| 261 | 103 # Custom application I usually install and safe to prioritize | 
| 104 for i in {"${HOME}/app","/opt"}/{tmux,ruby19,node,tarsnap,symon,nginx}/{bin,sbin}; do | |
| 105 [ -d "${i}" ] && PATH="${i}:${PATH}" | |
| 106 done | |
| 107 | |
| 108 # Mercurial is optional since it will be inconsistent with ssh ... hg if this one gets priority. | |
| 109 for hgdir in {"${HOME}/app","/opt"}/mercurial; do | |
| 110 [ -x "${hgdir}/hg" ] && PATH="${PATH}:${hgdir}" | |
| 111 done | |
| 56 
9343fa4dfd91
[bash] we have vim. Probably.
 Edho Prima Arief <me@myconan.net> parents: 
55diff
changeset | 112 | 
| 59 | 113 case "${TERM}" in | 
| 254 
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
 Edho Arief <edho@myconan.net> parents: 
253diff
changeset | 114 xterm*|screen*|dtterm*) | 
| 260 
6bdfe1746bb1
Solaris' id doesn't have `id -un`, use `who am i | cut -d ' ' -f 1` instead.
 Edho Arief <edho@myconan.net> parents: 
257diff
changeset | 115 PROMPT_COMMAND='echo -ne "\033]0;'"$(who am i | cut -d ' ' -f 1)@$(uname -n)"': ${PWD}\007";'"${PROMPT_COMMAND}" | 
| 254 
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
 Edho Arief <edho@myconan.net> parents: 
253diff
changeset | 116 PS1='[\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\] \[\e[1;34m\]\W\[\e[0m\]]\$ ' | 
| 
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
 Edho Arief <edho@myconan.net> parents: 
253diff
changeset | 117 ;; | 
| 
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
 Edho Arief <edho@myconan.net> parents: 
253diff
changeset | 118 *) | 
| 
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
 Edho Arief <edho@myconan.net> parents: 
253diff
changeset | 119 PS1='[\u@\h \W]\$ ' | 
| 59 | 120 ;; | 
| 121 esac | |
| 122 | |
| 63 
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
 Edho Prima Arief <me@myconan.net> parents: 
62diff
changeset | 123 if command -v vim > /dev/null 2>&1; then | 
| 
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
 Edho Prima Arief <me@myconan.net> parents: 
62diff
changeset | 124 alias vi=vim | 
| 
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
 Edho Prima Arief <me@myconan.net> parents: 
62diff
changeset | 125 export EDITOR=vim | 
| 
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
 Edho Prima Arief <me@myconan.net> parents: 
62diff
changeset | 126 fi | 
| 71 | 127 [ -f "${HOME}/.ecos_bash.after" ] && . "${HOME}/.ecos_bash.after" | 
| 117 
548cf46e9cb4
Ensures no double loading using C-style variable test.
 Edho Prima Arief <edho@myconan.net> parents: 
112diff
changeset | 128 | 
