c6476acc33
(cherry picked from commit 353204547d
)
Change-Id: I740d8da02577b8c7acc74c297f110a2a913ae2bf
87 lines
1.9 KiB
Text
87 lines
1.9 KiB
Text
# 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
|
|
|
|
: ${TERM:=vt100} ${HOME:=/data} ${MKSH:=/system/bin/sh} ${HOSTNAME:=$(getprop ro.product.device)}
|
|
: ${SHELL:=$MKSH} ${USER:=$(typeset x=$(id); x=${x#*\(}; print -r -- ${x%%\)*})} ${HOSTNAME:=android}
|
|
if (( USER_ID )); then PS1='$'; else PS1='#'; fi
|
|
PS4='[$EPOCHREALTIME] '; PS1='${|
|
|
local e=$?
|
|
|
|
(( e )) && REPLY+="$e|"
|
|
|
|
return $e
|
|
}$USER@$HOSTNAME:${PWD:-?} '"$PS1 "
|
|
export HOME HOSTNAME MKSH SHELL TERM USER
|
|
alias l='ls'
|
|
alias la='l -a'
|
|
alias ll='l -l'
|
|
alias lo='l -a -l'
|
|
|
|
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 more {
|
|
(
|
|
set +m
|
|
cat "$@" |&
|
|
trap "rv=\$?; kill $! >/dev/null 2>&1; exit \$rv" EXIT
|
|
while IFS= read -pr line; do
|
|
llen=${%line}
|
|
(( llen == -1 )) && llen=${#line}
|
|
(( llen = llen ? (llen + COLUMNS - 1) / COLUMNS : 1 ))
|
|
if (( (curlin += llen) >= LINES )); then
|
|
print -n -- '\033[7m--more--\033[0m'
|
|
read -u1 || exit $?
|
|
[[ $REPLY = [Qq]* ]] && exit 0
|
|
curlin=$llen
|
|
fi
|
|
print -r -- "$line"
|
|
done
|
|
)
|
|
}
|
|
|
|
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
|