| # 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 |