summaryrefslogtreecommitdiffstats
path: root/etc/mkshrc
blob: b2923c6f147c5e2e265dec99b5163ea6ca47c39d (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
# Copyright (c) 2010, 2012, 2013, 2014
#	Thorsten Glaser <tg@mirbsd.org>
# This file is provided under the same terms as mksh.
#-
# Minimal /system/etc/mkshrc for Android
#
# Support: https://launchpad.net/mksh

: ${HOME:=/}
: ${HOSTNAME:=$(getprop ro.product.device)}
: ${HOSTNAME:=android}
: ${MKSH:=/sbin/sh}
: ${SHELL:=$MKSH}
: ${TERM:=linux}
: ${TMPDIR:=/tmp}
: ${USER:=$(id -un)}
export HOME HOSTNAME MKSH SHELL TERM TMPDIR USER

if (( USER_ID )); then PS1='$'; else PS1='#'; fi
PS4='[$EPOCHREALTIME] '; PS1='${|
	local e=$?

	(( e )) && REPLY+="$e|"

	return $e
}$USER@$HOSTNAME:${PWD:-?} '"$PS1 "

function hd {
	local -Uui16 -Z11 pos=0
	local -Uui16 -Z5 hv=2147483647
	local dasc line i

	cat "$@" | { set +U; if read -arN -1 line; then
		typeset -i1 'line[*]'
		i=0
		while (( i < ${#line[*]} )); do
			hv=${line[i++]}
			if (( (pos & 15) == 0 )); then
				(( pos )) && print -r -- "$dasc|"
				print -n "${pos#16#}  "
				dasc=' |'
			fi
			print -n "${hv#16#} "
			if (( (hv < 32) || (hv > 126) )); then
				dasc+=.
			else
				dasc+=${line[i-1]#1#}
			fi
			(( (pos++ & 15) == 7 )) && print -n -- '- '
		done
		while (( pos & 15 )); do
			print -n '   '
			(( (pos++ & 15) == 7 )) && print -n -- '- '
		done
		(( hv == 2147483647 )) || print -r -- "$dasc|"
	fi; }
}

function setenv {
	eval export "\"$1\""'="$2"'
}

for p in ~/bin; do
	[[ -d $p/. ]] || continue
	[[ :$PATH: = *:$p:* ]] || PATH=$p:$PATH
done

unset p

: place customisations above this line