Mercurial > ec-dotfiles
annotate rc/bashrc @ 693:37a2470380f2
[bashrc] Fix comment about freebsd grep
| author | nanaya <me@nanaya.pro> | 
|---|---|
| date | Sun, 23 Oct 2022 01:56:54 +0900 | 
| parents | a04ba615362c | 
| children | 92c1a021e8a1 | 
| 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 | 
| 
533
 
77c1f9e624a3
Rename prefix to `.ec.` instead of `.ecos_`.
 
edogawaconan <me@myconan.net> 
parents: 
530 
diff
changeset
 | 
8 if [ "${EC_BASH_LOADED}" != "yes" ]; then | 
| 
 
77c1f9e624a3
Rename prefix to `.ec.` instead of `.ecos_`.
 
edogawaconan <me@myconan.net> 
parents: 
530 
diff
changeset
 | 
9 EC_BASH_LOADED="yes" | 
| 
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
 | 
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 | 
| 
533
 
77c1f9e624a3
Rename prefix to `.ec.` instead of `.ecos_`.
 
edogawaconan <me@myconan.net> 
parents: 
530 
diff
changeset
 | 
14 [ -f "${HOME}/.ec.bash.before" ] && . "${HOME}/.ec.bash.before" | 
| 
49
 
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
 
Edho Prima Arief <me@myconan.net> 
parents: 
48 
diff
changeset
 | 
15 | 
| 385 | 16 _org_path="${PATH}" | 
| 386 | 17 | 
| 
587
 
394f19c180a2
Ensure correct terminal size variables
 
nanaya <me@myconan.net> 
parents: 
584 
diff
changeset
 | 
18 # ensure correct window size at all time | 
| 
 
394f19c180a2
Ensure correct terminal size variables
 
nanaya <me@myconan.net> 
parents: 
584 
diff
changeset
 | 
19 # noticeably in FreebSD + tmux + vim: | 
| 
 
394f19c180a2
Ensure correct terminal size variables
 
nanaya <me@myconan.net> 
parents: 
584 
diff
changeset
 | 
20 # 1. start tmux | 
| 
 
394f19c180a2
Ensure correct terminal size variables
 
nanaya <me@myconan.net> 
parents: 
584 
diff
changeset
 | 
21 # 2. start vim in the session | 
| 
 
394f19c180a2
Ensure correct terminal size variables
 
nanaya <me@myconan.net> 
parents: 
584 
diff
changeset
 | 
22 # 3. split pane | 
| 
 
394f19c180a2
Ensure correct terminal size variables
 
nanaya <me@myconan.net> 
parents: 
584 
diff
changeset
 | 
23 # 4. quit vim | 
| 
 
394f19c180a2
Ensure correct terminal size variables
 
nanaya <me@myconan.net> 
parents: 
584 
diff
changeset
 | 
24 # 5. wrong COLUMNS or LINES | 
| 
 
394f19c180a2
Ensure correct terminal size variables
 
nanaya <me@myconan.net> 
parents: 
584 
diff
changeset
 | 
25 shopt -s checkwinsize | 
| 
 
394f19c180a2
Ensure correct terminal size variables
 
nanaya <me@myconan.net> 
parents: 
584 
diff
changeset
 | 
26 | 
| 610 | 27 set +H | 
| 28 | |
| 386 | 29 # Basic PATH | 
| 468 | 30 export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games" | 
| 385 | 31 | 
| 
520
 
a60af1e859e4
set PATH before calling uname.
 
edogawaconan <me@myconan.net> 
parents: 
516 
diff
changeset
 | 
32 _os="$(uname -s)" | 
| 628 | 33 _os_r="$(uname -r)" | 
| 
520
 
a60af1e859e4
set PATH before calling uname.
 
edogawaconan <me@myconan.net> 
parents: 
516 
diff
changeset
 | 
34 | 
| 385 | 35 # pkgsrc | 
| 36 if test -d /usr/pkg; then | |
| 37 PATH="${PATH}:/usr/pkg/bin:/usr/pkg/sbin" | |
| 38 if test -d /usr/pkg/java/openjdk7; then | |
| 39 # OpenJDK 7 in pkgsrc | |
| 40 PATH="${PATH}:/usr/pkg/java/openjdk7/bin" | |
| 41 fi | |
| 42 fi | |
| 460 | 43 | 
| 387 | 44 # OpenBSD X11 | 
| 45 test -d /usr/X11R6/bin && PATH="${PATH}:/usr/X11R6/bin" | |
| 46 # PostgreSQL Yum | |
| 
440
 
abbdb936a36a
Automated pgsql yum version detect.
 
Edho Arief <edho@myconan.net> 
parents: 
439 
diff
changeset
 | 
47 # Defaults to last version available. | 
| 521 | 48 for _pgbindir in /usr/pgsql-*/bin; do test; done | 
| 
440
 
abbdb936a36a
Automated pgsql yum version detect.
 
Edho Arief <edho@myconan.net> 
parents: 
439 
diff
changeset
 | 
49 test -d "${_pgbindir}" && PATH="${_pgbindir}:${PATH}" | 
| 
 
abbdb936a36a
Automated pgsql yum version detect.
 
Edho Arief <edho@myconan.net> 
parents: 
439 
diff
changeset
 | 
50 unset _pgbindir | 
| 385 | 51 | 
| 439 | 52 # PostgreSQL EnterpriseDB | 
| 53 # Defaults to last version available. | |
| 521 | 54 for _pgbindir in /opt/PostgreSQL/*/bin; do test; done | 
| 439 | 55 test -d "${_pgbindir}" && PATH="${_pgbindir}:${PATH}" | 
| 56 unset _pgbindir | |
| 57 | |
| 372 | 58 # Nuke currently defined functions | 
| 396 | 59 unset -f $(set | grep ' \(\)$' | cut -d ' ' -f 1) | 
| 372 | 60 | 
| 374 | 61 # Nuke bash-completion | 
| 62 complete -r | |
| 63 | |
| 380 | 64 # Nuke aliases | 
| 65 unalias -a | |
| 66 | |
| 
111
 
fd8dbd4bb758
ls color for freebsd, history control.
 
Edho Prima Arief <edho@myconan.net> 
parents: 
106 
diff
changeset
 | 
67 shopt -s histappend | 
| 499 | 68 HISTSIZE=20000 | 
| 69 HISTFILESIZE=$HISTSIZE | |
| 70 HISTCONTROL=ignorespace:ignoredups:erasedups | |
| 71 PROMPT_COMMAND='history -a; history -c; history -r' | |
| 
111
 
fd8dbd4bb758
ls color for freebsd, history control.
 
Edho Prima Arief <edho@myconan.net> 
parents: 
106 
diff
changeset
 | 
72 | 
| 414 | 73 export PAGER=more | 
| 74 export EDITOR=vi | |
| 
89
 
29bd7f6ef58a
Explicit LANG declaration.
 
Edho Prima Arief <me@myconan.net> 
parents: 
60 
diff
changeset
 | 
75 export LANG="en_US.UTF-8" | 
| 461 | 76 export LC_CTYPE="en_US.UTF-8" | 
| 355 | 77 # The en_US.UTF-8 causes weird sorting. | 
| 78 # (not really, but I prefer C based sort.) | |
| 414 | 79 export LC_COLLATE=C | 
| 
413
 
fda660f86df3
Don't set lc_messages to utf-8. Just use plain C.
 
Edho Arief <edho@myconan.net> 
parents: 
407 
diff
changeset
 | 
80 export LC_MESSAGES=C | 
| 
267
 
e35a36bb832e
Always export LSCOLORS and CLICOLOR
 
Edho Arief <edho@myconan.net> 
parents: 
266 
diff
changeset
 | 
81 export CLICOLOR= | 
| 
342
 
4a37643931c4
[rc/bashrc] Better color for solarized and general (blue -> cyan).
 
Edho Arief <edho@myconan.net> 
parents: 
335 
diff
changeset
 | 
82 export LSCOLORS="gxfxcxdxbxegedabagacad" | 
| 307 | 83 export LS_COLORS= | 
| 
309
 
592605e4d3bb
Use SI whenever possible. Use 1KiB instead otherwise.
 
Edho Arief <edho@myconan.net> 
parents: 
308 
diff
changeset
 | 
84 export BLOCKSIZE=1K | 
| 
 
592605e4d3bb
Use SI whenever possible. Use 1KiB instead otherwise.
 
Edho Arief <edho@myconan.net> 
parents: 
308 
diff
changeset
 | 
85 export BLOCK_SIZE=si | 
| 
49
 
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
 
Edho Prima Arief <me@myconan.net> 
parents: 
48 
diff
changeset
 | 
86 | 
| 62 | 87 alias ls="ls -F" | 
| 288 | 88 alias rd="rdesktop -g 1280x600 -K -a 15 -x m -z -P -r sound:off -r clipboard:CLIPBOARD -5" | 
| 593 | 89 alias man="LANG=C LC_ALL=C LC_CTYPE=C man" | 
| 477 | 90 alias be="bundle exec" | 
| 91 alias ll="ls -l" | |
| 92 alias la="ls -A" | |
| 
53
 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 
Edho Prima Arief <me@myconan.net> 
parents: 
52 
diff
changeset
 | 
93 | 
| 43 | 94 _has_gnu_ls= | 
| 
53
 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 
Edho Prima Arief <me@myconan.net> 
parents: 
52 
diff
changeset
 | 
95 _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
 | 
96 _ls="ls" | 
| 
270
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
97 _grep="grep" | 
| 
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
98 _has_posix_grep=y | 
| 
691
 
7dda86be7a60
[bashrc] Support -A with gnu ls root
 
nanaya <me@nanaya.pro> 
parents: 
683 
diff
changeset
 | 
99 _uid=$(id -u) | 
| 
270
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
100 | 
| 
506
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
101 if [ SunOS = "${_os}" ]; then | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
102 if [ -f /usr/share/lib/terminfo/s/screen ]; then | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
103 export TERMINFO=/usr/share/lib/terminfo | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
104 elif [ -f /opt/csw/share/terminfo/s/screen ]; then | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
105 export TERMINFO=/opt/csw/share/terminfo | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
106 else | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
107 unset TERMINFO | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
108 export TERM=dtterm | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
109 fi | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
110 | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
111 [ xterm = "${TERM}" ] && export TERM=xterm-256color | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
112 fi | 
| 
 
84ad2517ac90
Refactor terminal-relatd detection in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
501 
diff
changeset
 | 
113 | 
| 501 | 114 case "${_os}" in | 
| 43 | 115 Linux) | 
| 116 _has_gnu_ls=y | |
| 
96
 
26c9dc482051
Merge. Linux obviously has gnu grep.
 
Edho Prima Arief <edho@myconan.net> 
parents: 
75 
diff
changeset
 | 
117 _has_gnu_grep=y | 
| 43 | 118 ;; | 
| 119 SunOS) | |
| 
270
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
120 _has_posix_grep=n | 
| 43 | 121 [ -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
 | 
122 [ -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
 | 
123 # Higher priority directories | 
| 
 
e6de49d70fe7
(Not so) simplified solaris path add.
 
Edho Arief <edho@myconan.net> 
parents: 
252 
diff
changeset
 | 
124 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
 | 
125 [ -d "${i}" ] && PATH="${i}:${PATH}" | 
| 
 
e6de49d70fe7
(Not so) simplified solaris path add.
 
Edho Arief <edho@myconan.net> 
parents: 
252 
diff
changeset
 | 
126 done | 
| 
 
e6de49d70fe7
(Not so) simplified solaris path add.
 
Edho Arief <edho@myconan.net> 
parents: 
252 
diff
changeset
 | 
127 for i in /usr/{sfw,xpg4}/bin; do | 
| 
 
e6de49d70fe7
(Not so) simplified solaris path add.
 
Edho Arief <edho@myconan.net> 
parents: 
252 
diff
changeset
 | 
128 [ -d "${i}" ] && PATH="${PATH}:${i}" | 
| 
 
e6de49d70fe7
(Not so) simplified solaris path add.
 
Edho Arief <edho@myconan.net> 
parents: 
252 
diff
changeset
 | 
129 done | 
| 
333
 
aeb51856e281
[rc/bash] Solaris: additional path, removed useless test.
 
Edho Arief <edho@myconan.net> 
parents: 
326 
diff
changeset
 | 
130 [ -d "/opt/csw/gnu" ] && PATH="/opt/csw/gnu:${PATH}" | 
| 
511
 
ce21ebae61b4
Add /opt/local beforehand in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
510 
diff
changeset
 | 
131 [ -d "/opt/local/sbin" ] && PATH="/opt/local/sbin:${PATH}" | 
| 
 
ce21ebae61b4
Add /opt/local beforehand in sunos.
 
edogawaconan <me@myconan.net> 
parents: 
510 
diff
changeset
 | 
132 [ -d "/opt/local/bin" ] && PATH="/opt/local/bin:${PATH}" | 
| 
57
 
ada5b9534765
[bash] Sanitize sunos ping.
 
Edho Prima Arief <me@myconan.net> 
parents: 
56 
diff
changeset
 | 
133 alias ping="ping -s" | 
| 
 
ada5b9534765
[bash] Sanitize sunos ping.
 
Edho Prima Arief <me@myconan.net> 
parents: 
56 
diff
changeset
 | 
134 alias ping6="ping -A inet6" | 
| 
270
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
135 if command -v ggrep > /dev/null 2>&1; then | 
| 
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
136 _has_gnu_grep=y | 
| 
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
137 _grep="ggrep" | 
| 
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
138 fi | 
| 272 | 139 if command -v gls > /dev/null 2>&1; then | 
| 140 _has_gnu_ls=y | |
| 141 _ls="gls" | |
| 142 fi | |
| 43 | 143 ;; | 
| 275 | 144 FreeBSD) | 
| 278 | 145 # Multi CPU awesomeness. | 
| 146 alias top="top -P" | |
| 
693
 
37a2470380f2
[bashrc] Fix comment about freebsd grep
 
nanaya <me@nanaya.pro> 
parents: 
692 
diff
changeset
 | 
147 # FreeBSD grep isn't GNU grep but supports all of its commands | 
| 
453
 
c3bfb45757e9
FreeBSD grep is GNU grep. Well, up to 9.x.
 
Edho Arief <edho@myconan.net> 
parents: 
440 
diff
changeset
 | 
148 _has_gnu_grep=y | 
| 275 | 149 ;; | 
| 62 | 150 OpenBSD) | 
| 
692
 
a04ba615362c
[bashrc] back to prioritizing gnuls for openbsd
 
nanaya <me@nanaya.pro> 
parents: 
691 
diff
changeset
 | 
151 if command -v gls > /dev/null 2>&1; then | 
| 
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
 | 
152 _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
 | 
153 _ls="gls" | 
| 
692
 
a04ba615362c
[bashrc] back to prioritizing gnuls for openbsd
 
nanaya <me@nanaya.pro> 
parents: 
691 
diff
changeset
 | 
154 elif command -v colorls > /dev/null 2>&1; then | 
| 
 
a04ba615362c
[bashrc] back to prioritizing gnuls for openbsd
 
nanaya <me@nanaya.pro> 
parents: 
691 
diff
changeset
 | 
155 alias ls="colorls -F" | 
| 
 
a04ba615362c
[bashrc] back to prioritizing gnuls for openbsd
 
nanaya <me@nanaya.pro> 
parents: 
691 
diff
changeset
 | 
156 fi | 
| 
 
a04ba615362c
[bashrc] back to prioritizing gnuls for openbsd
 
nanaya <me@nanaya.pro> 
parents: 
691 
diff
changeset
 | 
157 if command -v ggrep > /dev/null 2>&1; then | 
| 
 
a04ba615362c
[bashrc] back to prioritizing gnuls for openbsd
 
nanaya <me@nanaya.pro> 
parents: 
691 
diff
changeset
 | 
158 _has_gnu_grep=y | 
| 
 
a04ba615362c
[bashrc] back to prioritizing gnuls for openbsd
 
nanaya <me@nanaya.pro> 
parents: 
691 
diff
changeset
 | 
159 _grep="ggrep" | 
| 62 | 160 fi | 
| 161 ;; | |
| 
351
 
001cdf389aaf
NetBSD and DFBSD use similar package directory structure (pkgsrc).
 
Edho Arief <edho@myconan.net> 
parents: 
345 
diff
changeset
 | 
162 NetBSD|DragonFly) | 
| 249 | 163 if command -v gls > /dev/null 2>&1; then | 
| 164 _has_gnu_ls=y | |
| 165 _ls="gls" | |
| 166 elif command -v colorls > /dev/null 2>&1; then | |
| 276 | 167 alias ls="colorls -F" | 
| 249 | 168 fi | 
| 
367
 
37e422bb903b
Grep in color for NetBSD/DragonFly.
 
Edho Arief <edho@myconan.net> 
parents: 
366 
diff
changeset
 | 
169 alias grep='grep --color=auto' | 
| 249 | 170 ;; | 
| 67 | 171 CYGWIN*) | 
| 172 export PATH="${PATH}:${_org_path}" | |
| 173 ;; | |
| 581 | 174 MSYS_NT-*) | 
| 175 _has_gnu_ls=y | |
| 176 export PATH="${PATH}:${_org_path}" | |
| 177 ;; | |
| 43 | 178 esac | 
| 179 | |
| 314 | 180 if [ "${_has_gnu_ls}" = y ]; then | 
| 
691
 
7dda86be7a60
[bashrc] Support -A with gnu ls root
 
nanaya <me@nanaya.pro> 
parents: 
683 
diff
changeset
 | 
181 _root_opt="" | 
| 
 
7dda86be7a60
[bashrc] Support -A with gnu ls root
 
nanaya <me@nanaya.pro> 
parents: 
683 
diff
changeset
 | 
182 if [ "${_uid}" = "0" ]; then | 
| 
 
7dda86be7a60
[bashrc] Support -A with gnu ls root
 
nanaya <me@nanaya.pro> 
parents: 
683 
diff
changeset
 | 
183 _root_opt=" -A" | 
| 
 
7dda86be7a60
[bashrc] Support -A with gnu ls root
 
nanaya <me@nanaya.pro> 
parents: 
683 
diff
changeset
 | 
184 fi | 
| 
 
7dda86be7a60
[bashrc] Support -A with gnu ls root
 
nanaya <me@nanaya.pro> 
parents: 
683 
diff
changeset
 | 
185 alias ls="${_ls}${_root_opt} -F --color=auto" | 
| 
516
 
6ef4bbc171eb
Revert to default LS_COLORS. From ubuntu 14.04.
 
edogawaconan <me@myconan.net> 
parents: 
514 
diff
changeset
 | 
186 LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:'; | 
| 314 | 187 export LS_COLORS | 
| 188 fi | |
| 
270
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
189 if [ "${_has_gnu_grep}" = y ]; then | 
| 
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
190 alias grep="${_grep} --color=auto" | 
| 
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
191 _has_posix_grep=y | 
| 
523
 
b88f621b6bd8
Add always-colored grep aliases.
 
edogawaconan <me@myconan.net> 
parents: 
521 
diff
changeset
 | 
192 | 
| 
 
b88f621b6bd8
Add always-colored grep aliases.
 
edogawaconan <me@myconan.net> 
parents: 
521 
diff
changeset
 | 
193 alias cgrep="${_grep} --color=always" | 
| 
 
b88f621b6bd8
Add always-colored grep aliases.
 
edogawaconan <me@myconan.net> 
parents: 
521 
diff
changeset
 | 
194 alias cegrep="cgrep -E" | 
| 
 
b88f621b6bd8
Add always-colored grep aliases.
 
edogawaconan <me@myconan.net> 
parents: 
521 
diff
changeset
 | 
195 alias cfgrep="cgrep -F" | 
| 
270
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
196 fi | 
| 
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
197 if [ "${_has_posix_grep}" = y ]; then | 
| 
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
198 alias fgrep="grep -F" | 
| 
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
199 alias egrep="grep -E" | 
| 
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
200 fi | 
| 
53
 
b9db5d89aae3
[bash] POSIX grep, GNU grep, standardized quote (" unless ' required).
 
Edho Prima Arief <me@myconan.net> 
parents: 
52 
diff
changeset
 | 
201 | 
| 524 | 202 # FIXME: missing test for hg and xargs -0 | 
| 203 _xargs_grep="${_grep}" | |
| 204 [ "${_has_gnu_grep}" = y ] && _xargs_grep="${_grep} --color=always" | |
| 205 alias hggrep="hg locate -0 | xargs -0 ${_xargs_grep}" | |
| 206 unset _xargs_grep | |
| 207 | |
| 
49
 
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
 
Edho Prima Arief <me@myconan.net> 
parents: 
48 
diff
changeset
 | 
208 unset _has_gnu_ls | 
| 58 | 209 unset _has_gnu_grep | 
| 
270
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
210 unset _has_posix_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
 | 
211 unset _ls | 
| 
270
 
0e41725e7d38
Grep, GNU Grep, Solaris Grep, etc.
 
Edho Arief <edho@myconan.net> 
parents: 
269 
diff
changeset
 | 
212 unset _grep | 
| 
49
 
b924652e169d
[bash] Various tweaks: prompt, unset for check variables, etc
 
Edho Prima Arief <me@myconan.net> 
parents: 
48 
diff
changeset
 | 
213 | 
| 261 | 214 # Custom application I usually install and safe to prioritize | 
| 573 | 215 for i in {"${HOME}/apps","/opt"{,"/${USER:-$LOGNAME}"}}/{tmux,ruby19,python26,node,tarsnap,symon,nginx,p7zip,composer}/{bin,sbin}; do | 
| 261 | 216 [ -d "${i}" ] && PATH="${i}:${PATH}" | 
| 217 done | |
| 304 | 218 # New(?) rubygems bin PATH | 
| 543 | 219 for i in {"${HOME}/apps","/opt"{,"/${USER:-$LOGNAME}"}}/ruby19/lib/ruby/gems/1.9.1/bin; do | 
| 304 | 220 [ -d "${i}" ] && PATH="${i}:${PATH}" | 
| 221 done | |
| 261 | 222 | 
| 
264
 
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
 
Edho Arief <edho@myconan.net> 
parents: 
262 
diff
changeset
 | 
223 # 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
 | 
224 # 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
 | 
225 # And use only one. | 
| 543 | 226 for mydir in {"${HOME}",/apps,/opt}/mysql/{{cluster,enterprise}/mysql/,}bin; do | 
| 
264
 
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
 
Edho Arief <edho@myconan.net> 
parents: 
262 
diff
changeset
 | 
227 if [ -d "${mydir}" ]; then | 
| 
 
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
 
Edho Arief <edho@myconan.net> 
parents: 
262 
diff
changeset
 | 
228 PATH="${mydir}:${PATH}" | 
| 
 
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
 
Edho Arief <edho@myconan.net> 
parents: 
262 
diff
changeset
 | 
229 break | 
| 
 
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
 
Edho Arief <edho@myconan.net> 
parents: 
262 
diff
changeset
 | 
230 fi | 
| 
 
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
 
Edho Arief <edho@myconan.net> 
parents: 
262 
diff
changeset
 | 
231 done | 
| 
 
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
 
Edho Arief <edho@myconan.net> 
parents: 
262 
diff
changeset
 | 
232 | 
| 261 | 233 # 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
 | 
234 # And use only one. | 
| 543 | 235 for hgdir in {"${HOME}/apps","/opt"}/mercurial{,/bin}; do | 
| 
281
 
87ce8cfdb8d4
Alias for newer hg. Also more search path.
 
Edho Arief <edho@myconan.net> 
parents: 
279 
diff
changeset
 | 
236 hgbin="${hgdir}/hg" | 
| 
 
87ce8cfdb8d4
Alias for newer hg. Also more search path.
 
Edho Arief <edho@myconan.net> 
parents: 
279 
diff
changeset
 | 
237 if [ -x "${hgbin}" ]; then | 
| 
264
 
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
 
Edho Arief <edho@myconan.net> 
parents: 
262 
diff
changeset
 | 
238 PATH="${PATH}:${hgdir}" | 
| 
281
 
87ce8cfdb8d4
Alias for newer hg. Also more search path.
 
Edho Arief <edho@myconan.net> 
parents: 
279 
diff
changeset
 | 
239 alias nhg="${hgbin}" | 
| 
264
 
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
 
Edho Arief <edho@myconan.net> 
parents: 
262 
diff
changeset
 | 
240 break | 
| 
 
c6c322c57e0e
Paths for MySQL, instabreak for mercurial.
 
Edho Arief <edho@myconan.net> 
parents: 
262 
diff
changeset
 | 
241 fi | 
| 261 | 242 done | 
| 
56
 
9343fa4dfd91
[bash] we have vim. Probably.
 
Edho Prima Arief <me@myconan.net> 
parents: 
55 
diff
changeset
 | 
243 | 
| 543 | 244 for supbindir in {"${HOME}/apps","/opt"}/supervisor{,d}/bin; do | 
| 
273
 
cf23a637f3a5
Supervisor support. Added on last since I usually install it in virtualenv
 
Edho Arief <edho@myconan.net> 
parents: 
271 
diff
changeset
 | 
245 if [ -d "${supbindir}" ]; then | 
| 
 
cf23a637f3a5
Supervisor support. Added on last since I usually install it in virtualenv
 
Edho Arief <edho@myconan.net> 
parents: 
271 
diff
changeset
 | 
246 PATH="${PATH}:${supbindir}" | 
| 
 
cf23a637f3a5
Supervisor support. Added on last since I usually install it in virtualenv
 
Edho Arief <edho@myconan.net> 
parents: 
271 
diff
changeset
 | 
247 break | 
| 
 
cf23a637f3a5
Supervisor support. Added on last since I usually install it in virtualenv
 
Edho Arief <edho@myconan.net> 
parents: 
271 
diff
changeset
 | 
248 fi | 
| 
 
cf23a637f3a5
Supervisor support. Added on last since I usually install it in virtualenv
 
Edho Arief <edho@myconan.net> 
parents: 
271 
diff
changeset
 | 
249 done | 
| 
 
cf23a637f3a5
Supervisor support. Added on last since I usually install it in virtualenv
 
Edho Arief <edho@myconan.net> 
parents: 
271 
diff
changeset
 | 
250 | 
| 
436
 
d6ac822569c4
Updated the uncolored prompt style.
 
Edho Arief <edho@myconan.net> 
parents: 
435 
diff
changeset
 | 
251 PS1='\u@\h:\w\$ ' | 
| 59 | 252 case "${TERM}" in | 
| 683 | 253 xterm*|screen*|dtterm*|tmux*) | 
| 
584
 
4130d41c6acb
Support for msys' USERNAME variable
 
nanaya <me@myconan.net> 
parents: 
582 
diff
changeset
 | 
254 PROMPT_COMMAND='echo -ne "\033]0;'"${USER:-${LOGNAME:-$USERNAME}}@$(uname -n)"': ${PWD}\007";'"${PROMPT_COMMAND}" | 
| 
691
 
7dda86be7a60
[bashrc] Support -A with gnu ls root
 
nanaya <me@nanaya.pro> 
parents: 
683 
diff
changeset
 | 
255 if [ "${_uid}" = "0" ]; then | 
| 530 | 256 PS1='\[\e[1;31m\]\u@\h:\w\$\[\e[0m\] ' | 
| 257 elif [ "$(uname)" != "DragonFly" ]; then | |
| 258 # DragonFly's Bash is a bit buggy. | |
| 
435
 
4a71d0b1a4c6
Different, more compact style of prompt.
 
Edho Arief <edho@myconan.net> 
parents: 
434 
diff
changeset
 | 
259 PS1='\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;36m\]\w\[\e[0m\]\$ ' | 
| 
352
 
038c28c748d0
The color prompt is broken-ish in DFBSD.
 
Edho Arief <edho@myconan.net> 
parents: 
351 
diff
changeset
 | 
260 fi | 
| 59 | 261 ;; | 
| 262 esac | |
| 263 | |
| 501 | 264 # Priority PATHs. Always enable. | 
| 
533
 
77c1f9e624a3
Rename prefix to `.ec.` instead of `.ecos_`.
 
edogawaconan <me@myconan.net> 
parents: 
530 
diff
changeset
 | 
265 PATH="${HOME}/bin:${HOME}/.ec.bin:/opt/local/bin:/opt/local/sbin:${PATH}" | 
| 501 | 266 | 
| 
63
 
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
 
Edho Prima Arief <me@myconan.net> 
parents: 
62 
diff
changeset
 | 
267 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
 | 
268 alias vi=vim | 
| 
 
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
 
Edho Prima Arief <me@myconan.net> 
parents: 
62 
diff
changeset
 | 
269 export EDITOR=vim | 
| 
 
b7814634220a
[bash] branch merge, added EDITOR change to vim when detected.
 
Edho Prima Arief <me@myconan.net> 
parents: 
62 
diff
changeset
 | 
270 fi | 
| 266 | 271 | 
| 296 | 272 if command -v less > /dev/null 2>&1; then | 
| 
395
 
c01d272af466
Moved less configuration declaration to environment variable.
 
Edho Arief <edho@myconan.net> 
parents: 
360 
diff
changeset
 | 
273 export PAGER=less | 
| 
488
 
e3648f0482e5
Automatically exit less when the file is less than one screenful.
 
edogawaconan <me@myconan.net> 
parents: 
477 
diff
changeset
 | 
274 export LESS=-FMRXginsz-2 | 
| 296 | 275 fi | 
| 276 | |
| 365 | 277 # Test if we have GNU rm prefixed by g (esp if on non-GNU system). | 
| 278 # Usually on old Solaris and {Net,Open,DragonFly}BSD. | |
| 279 if command -v grm > /dev/null 2>&1; then | |
| 280 _rm="grm" | |
| 281 else | |
| 282 _rm="rm" | |
| 283 fi | |
| 284 # Test if the specified rm has "-I" parameter since it's much better. | |
| 285 if "${_rm}" -If "/tmp/.nonexistent.$(date '+%Y%m%d%H%M%S')" 2> /dev/null; then | |
| 286 alias rm="${_rm} -I" | |
| 287 else | |
| 288 alias rm="${_rm} -i" | |
| 289 fi | |
| 366 | 290 unset _rm | 
| 266 | 291 | 
| 
402
 
a23b0f6ee8a2
Add alias for zeropaste posting.
 
Edho Arief <edho@myconan.net> 
parents: 
400 
diff
changeset
 | 
292 if command -v curl > /dev/null 2>&1; then | 
| 658 | 293 alias 0p="gzip | curl 'https://0paste.com/pastes.txt' -F 'paste[paste_gzip]=@-'" | 
| 294 alias 0pp="gzip | curl 'https://0paste.com/pastes.txt' -F 'paste[is_private]=1' -F 'paste[paste_gzip]=@-'" | |
| 
402
 
a23b0f6ee8a2
Add alias for zeropaste posting.
 
Edho Arief <edho@myconan.net> 
parents: 
400 
diff
changeset
 | 
295 fi | 
| 
 
a23b0f6ee8a2
Add alias for zeropaste posting.
 
Edho Arief <edho@myconan.net> 
parents: 
400 
diff
changeset
 | 
296 | 
| 501 | 297 if command -v tmux > /dev/null 2>&1; then | 
| 298 case "${_os}" in | |
| 299 OpenBSD) | |
| 628 | 300 case "${_os_r}" in | 
| 301 6.[5-9]|[7-9].[0-9]|[1-9][0-9][0-9]*.[0-9]) | |
| 302 _tmux_conf_ver=2.9 | |
| 303 ;; | |
| 304 *) | |
| 305 # probably not accurate enough but I don't want to dig through all the previous versions. | |
| 306 _tmux_conf_ver=2.2 | |
| 307 ;; | |
| 308 esac | |
| 501 | 309 ;; | 
| 310 *) | |
| 
514
 
13deb0e1a2cc
tmux 1.3 doesn't have -V parameter.
 
edogawaconan <me@myconan.net> 
parents: 
511 
diff
changeset
 | 
311 case "$(tmux -V 2> /dev/null)" in | 
| 653 | 312 "tmux 2.9"|"tmux 2.9"[a-z]|"tmux "[3-9].[0-9]|"tmux "[3-9].[0-9][a-z]|"tmux "[1-9][0-9].[0-9]|"tmux "[1-9][0-9].[0-9][a-z]) _tmux_conf_ver=2.9;; | 
| 627 | 313 "tmux 2."[2-8]) _tmux_conf_ver=2.2;; | 
| 
591
 
23e326f74bfd
tmux point version only goes up to 9
 
nanaya <me@myconan.net> 
parents: 
590 
diff
changeset
 | 
314 "tmux 1.9"|"tmux 2."[0-1]) _tmux_conf_ver=1.9;; | 
| 559 | 315 "tmux 1."[4-8]) _tmux_conf_ver=1.4;; | 
| 501 | 316 *) _tmux_conf_ver=1.3;; | 
| 317 esac | |
| 318 ;; | |
| 319 esac | |
| 320 alias tmux="tmux -f '""${HOME}""/.tmux-""${_tmux_conf_ver}"".conf'" | |
| 321 unset _tmux_conf_ver | |
| 322 fi | |
| 323 | |
| 324 unset _os | |
| 628 | 325 unset _os_r | 
| 
691
 
7dda86be7a60
[bashrc] Support -A with gnu ls root
 
nanaya <me@nanaya.pro> 
parents: 
683 
diff
changeset
 | 
326 unset _uid | 
| 464 | 327 | 
| 654 | 328 # reset cursor shape | 
| 329 # reference: https://conemu.github.io/en/AnsiEscapeCodes.html#Terminal_modes | |
| 330 printf '\033[2 q' | |
| 331 | |
| 
533
 
77c1f9e624a3
Rename prefix to `.ec.` instead of `.ecos_`.
 
edogawaconan <me@myconan.net> 
parents: 
530 
diff
changeset
 | 
332 [ -f "${HOME}/.ec.bash.after" ] && . "${HOME}/.ec.bash.after" | 
