aboutsummaryrefslogtreecommitdiff
path: root/etc/shrc
blob: e63785775998794028a39aba0232018b57f80f57 (plain)
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