Mercurial > ec-dotfiles
annotate rc/bash @ 256:227f4d463b5d
Color tester.
author | Edho Arief <edho@myconan.net> |
---|---|
date | Tue, 15 Nov 2011 12:10:28 +0700 |
parents | 4a0f963a3ff1 |
children | adcea08f6807 |
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 |
252
4fe8668e3ef0
Awesome custom paths by default.
Edho Arief <edho@myconan.net>
parents:
250
diff
changeset
|
19 # Custom application I usually install and safe to prioritize |
4fe8668e3ef0
Awesome custom paths by default.
Edho Arief <edho@myconan.net>
parents:
250
diff
changeset
|
20 for i in {"${HOME}/app","/opt"}/{tmux,ruby19,node,tarsnap,symon,nginx}/{bin,sbin}; do |
4fe8668e3ef0
Awesome custom paths by default.
Edho Arief <edho@myconan.net>
parents:
250
diff
changeset
|
21 [ -d "${i}" ] && PATH="${i}:${PATH}" |
4fe8668e3ef0
Awesome custom paths by default.
Edho Arief <edho@myconan.net>
parents:
250
diff
changeset
|
22 done |
4fe8668e3ef0
Awesome custom paths by default.
Edho Arief <edho@myconan.net>
parents:
250
diff
changeset
|
23 |
111
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
24 shopt -s histappend |
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
25 PROMPT_COMMAND='history -a' |
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
26 export HISTFILESIZE=10000 |
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
27 export HISTCONTROL=ignoredups |
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
28 |
53
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
29 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
|
30 export EDITOR=vi |
89
29bd7f6ef58a
Explicit LANG declaration.
Edho Prima Arief <me@myconan.net>
parents:
60
diff
changeset
|
31 export LANG="en_US.UTF-8" |
101
a1c6b40a535f
Ensure no Ubuntuism's ls color bastardization.
Edho Prima Arief <edho@myconan.net>
parents:
96
diff
changeset
|
32 unset LS_COLORS |
49
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
Edho Prima Arief <me@myconan.net>
parents:
48
diff
changeset
|
33 |
53
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
34 alias less="less -Rins" |
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
35 #assuming POSIX grep |
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
36 alias fgrep="grep -F" |
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
37 alias egrep="grep -E" |
62 | 38 alias ls="ls -F" |
39 alias rm="rm -i" | |
75
f993714efa7b
cool alias, bro (rdesktop)
Edho Prima Arief <me@myconan.net>
parents:
71
diff
changeset
|
40 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
|
41 |
43 | 42 _has_rm_I= |
43 _has_gnu_ls= | |
53
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
44 _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
|
45 _ls="ls" |
43 | 46 case "$(uname -s)" in |
47 Linux) | |
48 _has_rm_I=y | |
49 _has_gnu_ls=y | |
96
26c9dc482051
Merge. Linux obviously has gnu grep.
Edho Prima Arief <edho@myconan.net>
parents:
75
diff
changeset
|
50 _has_gnu_grep=y |
43 | 51 ;; |
52 SunOS) | |
53 [ -x /usr/gnu/bin/rm ] && _has_rm_I=y | |
54 [ -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
|
55 [ -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
|
56 # Higher priority directories |
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
57 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
|
58 [ -d "${i}" ] && PATH="${i}:${PATH}" |
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
59 done |
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
60 for i in /usr/{sfw,xpg4}/bin; do |
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
61 [ -d "${i}" ] && PATH="${PATH}:${i}" |
e6de49d70fe7
(Not so) simplified solaris path add.
Edho Arief <edho@myconan.net>
parents:
252
diff
changeset
|
62 done |
57
ada5b9534765
[bash] Sanitize sunos ping.
Edho Prima Arief <me@myconan.net>
parents:
56
diff
changeset
|
63 alias ping="ping -s" |
ada5b9534765
[bash] Sanitize sunos ping.
Edho Prima Arief <me@myconan.net>
parents:
56
diff
changeset
|
64 alias ping6="ping -A inet6" |
43 | 65 ;; |
53
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
Edho Prima Arief <me@myconan.net>
parents:
52
diff
changeset
|
66 FreeBSD) |
43 | 67 _has_rm_I=y |
111
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
68 export CLICOLOR= |
fd8dbd4bb758
ls color for freebsd, history control.
Edho Prima Arief <edho@myconan.net>
parents:
106
diff
changeset
|
69 export LSCOLORS=ExGxFxdxCxegedabagExEx |
43 | 70 ;; |
62 | 71 OpenBSD) |
255 | 72 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
|
73 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
|
74 _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
|
75 _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
|
76 elif command -v colorls > /dev/null 2>&1; then |
62 | 77 export CLICOLOR= |
140 | 78 export LSCOLORS=ExGxFxdxCxegedabagExEx |
62 | 79 alias ls='colorls -F' |
80 fi | |
81 ;; | |
249 | 82 NetBSD) |
255 | 83 PATH="${PATH}:/usr/pkg/bin:/usr/pkg/sbin" |
249 | 84 if command -v gls > /dev/null 2>&1; then |
85 _has_gnu_ls=y | |
86 _ls="gls" | |
87 elif command -v colorls > /dev/null 2>&1; then | |
88 export CLICOLOR= | |
89 export LSCOLORS=ExGxFxdxCxegedabagExEx | |
90 alias ls='colorls -F' | |
91 fi | |
92 ;; | |
67 | 93 CYGWIN*) |
94 export PATH="${PATH}:${_org_path}" | |
95 ;; | |
43 | 96 esac |
97 | |
62 | 98 [ "${_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:
141
diff
changeset
|
99 [ "${_has_gnu_ls}" = y ] && alias ls="${_ls} -F --color=auto" |
62 | 100 [ "${_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
|
101 |
49
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
Edho Prima Arief <me@myconan.net>
parents:
48
diff
changeset
|
102 unset _has_rm_I |
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
Edho Prima Arief <me@myconan.net>
parents:
48
diff
changeset
|
103 unset _has_gnu_ls |
58 | 104 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
|
105 unset _ls |
49
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
Edho Prima Arief <me@myconan.net>
parents:
48
diff
changeset
|
106 |
56
9343fa4dfd91
[bash] we have vim. Probably.
Edho Prima Arief <me@myconan.net>
parents:
55
diff
changeset
|
107 |
59 | 108 case "${TERM}" in |
254
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
Edho Arief <edho@myconan.net>
parents:
253
diff
changeset
|
109 xterm*|screen*|dtterm*) |
141 | 110 PROMPT_COMMAND='echo -ne "\033]0;${LOGNAME}@${HOSTNAME}: ${PWD}\007";'"${PROMPT_COMMAND}" |
254
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
Edho Arief <edho@myconan.net>
parents:
253
diff
changeset
|
111 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
|
112 ;; |
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
Edho Arief <edho@myconan.net>
parents:
253
diff
changeset
|
113 *) |
dde04581a2bf
Combined PS1 and PROMPT_COMMAND conditional.
Edho Arief <edho@myconan.net>
parents:
253
diff
changeset
|
114 PS1='[\u@\h \W]\$ ' |
59 | 115 ;; |
116 esac | |
117 | |
63
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
Edho Prima Arief <me@myconan.net>
parents:
62
diff
changeset
|
118 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
|
119 alias vi=vim |
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
Edho Prima Arief <me@myconan.net>
parents:
62
diff
changeset
|
120 export EDITOR=vim |
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
Edho Prima Arief <me@myconan.net>
parents:
62
diff
changeset
|
121 fi |
71 | 122 [ -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
|
123 |