1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# $NetBSD: shrc,v 1.7 2010/12/27 03:38:52 christos Exp $
#
# System-wide .shrc file for sh(1).
ll(){ ls -lp ${1+"$@"}; }
case "$-" in *i*)
set -o emacs
PS1=
/bin/test -z "${HOST}" && HOST="$(hostname)"
case "$SHELL" in
*bash) PS1=${HOST%%.*} ;;
*ksh) PS1='
'${HOST%%.*} ;;
*) PS1='${HOST%%.*}' ;;
esac
/bin/test "$(whoami)" = root && PS1=$PS1'# ' || PS1=$PS1'$ '
# dynamically change terminal title
case "$0,$TERM,$XTERM_SHELL" in
*ksh,screen,*)
PS1=$PS1'$(safetitle "$PWD")' ;;
*ksh,*,/*)
PS1=$PS1']0;$PWD' ;;
*bash,screen,*)
PROMPT_COMMAND='safetitle "${PWD/#\/home\/john/\~}"' ;;
*bash,*,/*)
PS1='\[\033]0;\w\007\]'$PS1 ;;
*)
;;
esac
case "$0" in *bash)
cmdtitle() {
cmd=${BASH_COMMAND#builtin }
cmd=${cmd#doas }
case "${cmd%% *}" in
safetitle) return ;;
screen) return ;;
ls) return ;;
ll) return ;;
mv) return ;;
rm) return ;;
:) return ;;
.) return ;;
source) return ;;
alias) return ;;
bg) return ;;
bind) return ;;
break) return ;;
builtin) return ;;
caller) return ;;
cd) return ;;
command) return ;;
compgen) return ;;
complete) return ;;
compopt) return ;;
continue) return ;;
declare) return ;;
typeset) return ;;
disown) return ;;
echo) return ;;
enable) return ;;
eval) return ;;
exec) return ;;
exit) return ;;
export) return ;;
fc) return ;;
fc) return ;;
fg) return ;;
getopts) return ;;
hash) return ;;
help) return ;;
history) return ;;
jobs) return ;;
kill) return ;;
let) return ;;
local) return ;;
mapfile) return ;;
readarray) return ;;
popd) return ;;
printf) return ;;
pushd) return ;;
pwd) return ;;
read) return ;;
readonly) return ;;
return) return ;;
set) return ;;
shift) return ;;
shopt) return ;;
suspend) return ;;
test) return ;;
[) return ;;
trap) return ;;
type) return ;;
ulimit) return ;;
umask) return ;;
unalias) return ;;
unset) return ;;
wait) return ;;
*) ;;
esac
eval 'pwd=${PWD/\/home\/john/\~}'
[[ $TERM = screen ]] &&
safetitle "$BASH_COMMAND ($pwd)" ||
echo -ne "\033]0;$BASH_COMMAND ($pwd)\007"
}
;; esac
# This file is used by shells that might not support
# set -o tabcomplete, so check before trying to use it.
( set -o tabcomplete 2>/dev/null ) && set -o tabcomplete
;;
esac
|