Thorsten Glaser | c2dc5de | 2013-02-18 23:02:51 +0000 | [diff] [blame^] | 1 | # Copyright (c) 2010, 2012, 2013 |
| 2 | # Thorsten Glaser <tg@mirbsd.org> |
Jean-Baptiste Queru | 5155f1c | 2011-06-16 10:05:28 -0700 | [diff] [blame] | 3 | # This file is provided under the same terms as mksh. |
| 4 | #- |
| 5 | # Minimal /system/etc/mkshrc for Android |
Thorsten Glaser | c2dc5de | 2013-02-18 23:02:51 +0000 | [diff] [blame^] | 6 | # |
| 7 | # Support: https://launchpad.net/mksh |
Jean-Baptiste Queru | 5155f1c | 2011-06-16 10:05:28 -0700 | [diff] [blame] | 8 | |
Thorsten Glaser | c2dc5de | 2013-02-18 23:02:51 +0000 | [diff] [blame^] | 9 | : ${TERM:=vt100} ${HOME:=/data} ${MKSH:=/system/bin/sh} ${HOSTNAME:=$(getprop ro.product.device)} |
| 10 | : ${SHELL:=$MKSH} ${USER:=$(typeset x=$(id); x=${x#*\(}; print -r -- ${x%%\)*})} ${HOSTNAME:=android} |
Jean-Baptiste Queru | 5155f1c | 2011-06-16 10:05:28 -0700 | [diff] [blame] | 11 | if (( USER_ID )); then PS1='$'; else PS1='#'; fi |
| 12 | function precmd { |
| 13 | typeset e=$? |
| 14 | |
| 15 | (( e )) && print -n "$e|" |
| 16 | } |
| 17 | PS1='$(precmd)$USER@$HOSTNAME:${PWD:-?} '"$PS1 " |
Thorsten Glaser | c2dc5de | 2013-02-18 23:02:51 +0000 | [diff] [blame^] | 18 | export HOME HOSTNAME MKSH SHELL TERM USER |
Jean-Baptiste Queru | 5155f1c | 2011-06-16 10:05:28 -0700 | [diff] [blame] | 19 | alias l='ls' |
| 20 | alias la='l -a' |
| 21 | alias ll='l -l' |
| 22 | alias lo='l -a -l' |
| 23 | |
Thorsten Glaser | c2dc5de | 2013-02-18 23:02:51 +0000 | [diff] [blame^] | 24 | function hd { |
| 25 | cat "$@" | command hd /proc/self/fd/0 |
| 26 | } |
| 27 | |
| 28 | function more { |
| 29 | local dummy line llen curlin=0 |
| 30 | |
| 31 | cat "$@" | while IFS= read -r line; do |
| 32 | llen=${%line} |
| 33 | (( llen == -1 )) && llen=${#line} |
| 34 | (( llen = llen ? (llen + COLUMNS - 1) / COLUMNS : 1 )) |
| 35 | if (( (curlin += llen) >= LINES )); then |
| 36 | print -n -- '\033[7m--more--\033[0m' |
| 37 | read -u1 dummy |
| 38 | [[ $dummy = [Qq]* ]] && return 0 |
| 39 | curlin=$llen |
| 40 | fi |
| 41 | print -r -- "$line" |
| 42 | done |
| 43 | } |
| 44 | |
| 45 | function setenv { |
| 46 | eval export "\"$1\""'="$2"' |
| 47 | } |
| 48 | |
Jean-Baptiste Queru | 5155f1c | 2011-06-16 10:05:28 -0700 | [diff] [blame] | 49 | for p in ~/.bin; do |
| 50 | [[ -d $p/. ]] || continue |
| 51 | [[ :$PATH: = *:$p:* ]] || PATH=$p:$PATH |
| 52 | done |
| 53 | |
| 54 | unset p |
| 55 | |
| 56 | : place customisations above this line |