1# Copyright (c) 2010, 2012, 2013, 2014 2# Thorsten Glaser <tg@mirbsd.org> 3# This file is provided under the same terms as mksh. 4#- 5# Minimal /system/etc/mkshrc for Android 6# 7# Support: https://launchpad.net/mksh 8 9: ${HOME:=/data} 10: ${HOSTNAME:=$(getprop ro.product.device)} 11: ${HOSTNAME:=android} 12: ${MKSH:=/system/bin/sh} 13: ${SHELL:=$MKSH} 14: ${TERM:=xterm} 15: ${TMPDIR:=/data/local/tmp} 16: ${USER:=$(id -un)} 17export HOME HOSTNAME MKSH SHELL TERM TMPDIR USER 18 19if (( USER_ID )); then PS1='$'; else PS1='#'; fi 20PS4='[$EPOCHREALTIME] '; PS1='${| 21 local e=$? 22 23 (( e )) && REPLY+="$e|" 24 25 return $e 26}$USER@$HOSTNAME:${PWD:-?} '"$PS1 " 27 28function hd { 29 local -Uui16 -Z11 pos=0 30 local -Uui16 -Z5 hv=2147483647 31 local dasc line i 32 33 cat "$@" | { set +U; if read -arN -1 line; then 34 typeset -i1 'line[*]' 35 i=0 36 while (( i < ${#line[*]} )); do 37 hv=${line[i++]} 38 if (( (pos & 15) == 0 )); then 39 (( pos )) && print -r -- "$dasc|" 40 print -n "${pos#16#} " 41 dasc=' |' 42 fi 43 print -n "${hv#16#} " 44 if (( (hv < 32) || (hv > 126) )); then 45 dasc+=. 46 else 47 dasc+=${line[i-1]#1#} 48 fi 49 (( (pos++ & 15) == 7 )) && print -n -- '- ' 50 done 51 while (( pos & 15 )); do 52 print -n ' ' 53 (( (pos++ & 15) == 7 )) && print -n -- '- ' 54 done 55 (( hv == 2147483647 )) || print -r -- "$dasc|" 56 fi; } 57} 58 59function setenv { 60 eval export "\"$1\""'="$2"' 61} 62 63for p in ~/bin; do 64 [[ -d $p/. ]] || continue 65 [[ :$PATH: = *:$p:* ]] || PATH=$p:$PATH 66done 67 68unset p 69 70: place customisations above this line 71