Mercurial > ec-dotfiles
annotate rc/bash @ 267:e35a36bb832e
Always export LSCOLORS and CLICOLOR
| author | Edho Arief <edho@myconan.net> |
|---|---|
| date | Thu, 24 Nov 2011 13:03:45 +0700 |
| parents | 69b9cbf9f3c0 |
| children | feab84a8efdb |
| rev | line source |
|---|---|
| 43 | 1 #!/usr/bin/env bash |
| 2 | |
|
242
ebfa844d2ef8
[bash] Also ensures interactive terminal.
Edho Arief <edho@myconan.net>
parents:
238
diff
changeset
|
3 case "${-}" in |
|
ebfa844d2ef8
[bash] Also ensures interactive terminal.
Edho Arief <edho@myconan.net>
parents:
238
diff
changeset
|
4 *i*) ;; |
|
ebfa844d2ef8
[bash] Also ensures interactive terminal.
Edho Arief <edho@myconan.net>
parents:
238
diff
changeset
|
5 *) return;; |
|
ebfa844d2ef8
[bash] Also ensures interactive terminal.
Edho Arief <edho@myconan.net>
parents:
238
diff
changeset
|
6 esac |
|
ebfa844d2ef8
[bash] Also ensures interactive terminal.
Edho Arief <edho@myconan.net>
parents:
238
diff
changeset
|
7 |
|
117
548cf46e9cb4
Ensures no double loading using C-style variable test.
Edho Prima Arief <edho@myconan.net>
parents:
112
diff
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:
117
diff
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:
117
diff
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:
117
diff
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:
117
diff
changeset
|
12 fi |
|
117
548cf46e9cb4
Ensures no double loading using C-style variable test.
Edho Prima Arief <edho@myconan.net>
parents:
112
diff
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:
48
diff
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:
43
diff
changeset
|
18 |
|
111
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
19 shopt -s histappend |
|
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
20 PROMPT_COMMAND='history -a' |
|
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
21 export HISTFILESIZE=10000 |
|
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
22 export HISTCONTROL=ignoredups |
|
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
23 |
|
53
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
24 export PAGER="less -Rins" |
|
49
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
Edho Prima Arief <me@myconan.net>
parents:
48
diff
changeset
|
25 export EDITOR=vi |
|
89
29bd7f6ef58a
Explicit LANG declaration.
Edho Prima Arief <me@myconan.net>
parents:
60
diff
changeset
|
26 export LANG="en_US.UTF-8" |
|
267
e35a36bb832e
Always export LSCOLORS and CLICOLOR
Edho Arief <edho@myconan.net>
parents:
266
diff
changeset
|
27 export CLICOLOR= |
|
e35a36bb832e
Always export LSCOLORS and CLICOLOR
Edho Arief <edho@myconan.net>
parents:
266
diff
changeset
|
28 export LSCOLORS=ExGxFxdxCxegedabagExEx |
|
49
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
Edho Prima Arief <me@myconan.net>
parents:
48
diff
changeset
|
29 |
|
53
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
30 alias less="less -Rins" |
|
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
31 #assuming POSIX grep |
|
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
32 alias fgrep="grep -F" |
|
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
33 alias egrep="grep -E" |
| 62 | 34 alias ls="ls -F" |
| 35 alias rm="rm -i" | |
|
75
f993714efa7b
cool alias, bro (rdesktop)
Edho Prima Arief <me@myconan.net>
parents:
71
diff
changeset
|
36 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:
52
diff
changeset
|
37 |
| 43 | 38 _has_gnu_ls= |
|
53
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
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:
141
diff
changeset
|
40 _ls="ls" |
| 43 | 41 case "$(uname -s)" in |
| 42 Linux) | |
| 43 _has_gnu_ls=y | |
|
96
26c9dc482051
Merge. Linux obviously has gnu grep.
Edho Prima Arief <edho@myconan.net>
parents:
75
diff
changeset
|
44 _has_gnu_grep=y |
| 43 | 45 ;; |
| 46 SunOS) | |
| 47 [ -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:
52
diff
changeset
|
48 [ -x /usr/gnu/bin/grep ] && _has_gnu_grep=y |
|
253
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
49 # Higher priority directories |
|
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
50 for i in {/opt/csw,/usr/gnu}/{,s}bin; do |
|
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
51 [ -d "${i}" ] && PATH="${i}:${PATH}" |
|
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
52 done |
|
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
53 for i in /usr/{sfw,xpg4}/bin; do |
|
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
54 [ -d "${i}" ] && PATH="${PATH}:${i}" |
|
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
55 done |
|
57
ada5b9534765
[bash] Sanitize sunos ping.
Edho Prima Arief <me@myconan.net>
parents:
56
diff
changeset
|
56 alias ping="ping -s" |
|
ada5b9534765
[bash] Sanitize sunos ping.
Edho Prima Arief <me@myconan.net>
parents:
56
diff
changeset
|
57 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:
261
diff
changeset
|
58 [ -f "/usr/share/lib/terminfo/?/${TERM}" ] || export TERM=dtterm |
| 43 | 59 ;; |
| 62 | 60 OpenBSD) |
| 255 | 61 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:
141
diff
changeset
|
62 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:
141
diff
changeset
|
63 _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:
141
diff
changeset
|
64 _ls="gls" |
|
5dcbf6ab0109
Prioritize gnuls over colorls on OpenBSD. Modified GNU ls alias to allow different executable name.
Edho Arief <edho@myconan.net>
parents:
141
diff
changeset
|
65 elif command -v colorls > /dev/null 2>&1; then |
| 62 | 66 alias ls='colorls -F' |
| 67 fi | |
| 68 ;; | |
| 249 | 69 NetBSD) |
| 255 | 70 PATH="${PATH}:/usr/pkg/bin:/usr/pkg/sbin" |
| 249 | 71 if command -v gls > /dev/null 2>&1; then |
| 72 _has_gnu_ls=y | |
| 73 _ls="gls" | |
| 74 elif command -v colorls > /dev/null 2>&1; then | |
| 75 alias ls='colorls -F' | |
| 76 fi | |
| 77 ;; | |
| 67 | 78 CYGWIN*) |
| 79 export PATH="${PATH}:${_org_path}" | |
| 80 ;; | |
| 43 | 81 esac |
| 82 | |
|
238
5dcbf6ab0109
Prioritize gnuls over colorls on OpenBSD. Modified GNU ls alias to allow different executable name.
Edho Arief <edho@myconan.net>
parents:
141
diff
changeset
|
83 [ "${_has_gnu_ls}" = y ] && alias ls="${_ls} -F --color=auto" |
| 62 | 84 [ "${_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:
52
diff
changeset
|
85 |
|
49
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
Edho Prima Arief <me@myconan.net>
parents:
48
diff
changeset
|
86 unset _has_gnu_ls |
| 58 | 87 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:
141
diff
changeset
|
88 unset _ls |
|
49
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
Edho Prima Arief <me@myconan.net>
parents:
48
diff
changeset
|
89 |
| 261 | 90 # Custom application I usually install and safe to prioritize |
| 91 for i in {"${HOME}/app","/opt"}/{tmux,ruby19,node,tarsnap,symon,nginx}/{bin,sbin}; do | |
| 92 [ -d "${i}" ] && PATH="${i}:${PATH}" | |
| 93 done | |
| 94 | |
|
264
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
95 # MySQL in common locations highest priority since new = better. Also no compatibility problem. |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
96 # Cluster is superset of Enterprise/GPL so it gets highest priority. |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
97 # And use only one. |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
98 for mydir in {"${HOME}",/app{,s},/opt}/mysql/{{cluster,enterprise}/mysql/,}bin; do |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
99 if [ -d "${mydir}" ]; then |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
100 PATH="${mydir}:${PATH}" |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
101 break |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
102 fi |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
103 done |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
104 |
| 261 | 105 # Mercurial is optional since it will be inconsistent with ssh ... hg if this one gets priority. |
|
264
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
106 # And use only one. |
| 261 | 107 for hgdir in {"${HOME}/app","/opt"}/mercurial; do |
|
264
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
108 if [ -x "${hgdir}/hg" ]; then |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
109 PATH="${PATH}:${hgdir}" |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
110 break |
|
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
Edho Arief <edho@myconan.net>
parents:
262
diff
changeset
|
111 fi |
| 261 | 112 done |
|
56
9343fa4dfd91
[bash] we have vim. Probably.
Edho Prima Arief <me@myconan.net>
parents:
55
diff
changeset
|
113 |
| 59 | 114 case "${TERM}" in |
|
254
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
Edho Arief <edho@myconan.net>
parents:
253
diff
changeset
|
115 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:
257
diff
changeset
|
116 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:
253
diff
changeset
|
117 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:
253
diff
changeset
|
118 ;; |
|
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
Edho Arief <edho@myconan.net>
parents:
253
diff
changeset
|
119 *) |
|
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
Edho Arief <edho@myconan.net>
parents:
253
diff
changeset
|
120 PS1='[\u@\h \W]\$ ' |
| 59 | 121 ;; |
| 122 esac | |
| 123 | |
|
63
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
Edho Prima Arief <me@myconan.net>
parents:
62
diff
changeset
|
124 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:
62
diff
changeset
|
125 alias vi=vim |
|
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
Edho Prima Arief <me@myconan.net>
parents:
62
diff
changeset
|
126 export EDITOR=vim |
|
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
Edho Prima Arief <me@myconan.net>
parents:
62
diff
changeset
|
127 fi |
| 266 | 128 |
| 129 rm -If "/tmp/.nonexistent.$(date '+%Y%m%d%H%M%S')" 2> /dev/null && alias rm="rm -I" | |
| 130 | |
| 71 | 131 [ -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:
112
diff
changeset
|
132 |
