| # 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:=/data} |
| : ${HOSTNAME:=$(getprop ro.product.device)} |
| : ${HOSTNAME:=android} |
| : ${MKSH:=/system/bin/sh} |
| : ${SHELL:=$MKSH} |
| : ${TERM:=xterm} |
| : ${TMPDIR:=/data/local/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 |