mksh/dot.mkshrc
2006-08-28 01:34:47 +00:00

39 lines
1.2 KiB
Plaintext

# $MirOS: src/bin/mksh/dot.mkshrc,v 1.3 2006/08/28 01:34:47 tg Exp $
: ${EDITOR:=/bin/ed} ${HOSTNAME:=$(hostname -s 2>/dev/null || hostname)}
PS1='$(((rv=$?)) && print $rv\|)${USER:=$(id -un)}@${HOSTNAME:=nil}:$(
local pfx=~ wd=${PWD:-$(pwd)}
[[ ${wd#$pfx} = $wd || $pfx = ?(/) ]] || wd=\~${wd#$pfx}
pfx=; let n="( (n = ${COLUMNS:-80} / 3) < 7 ? 7 : n)"
while (( (${#pfx} + ${#wd}) > n )); do
if [[ $wd = */* ]]; then
pfx=.../
wd="${wd#*/}"
else
pfx=...
wd="${wd#?????}"
fi
done
print -r -- "$pfx$wd")'" $(if (( $(id -u) )); then
print \$; else print \#; fi) "
export EDITOR HOSTNAME PS1 USER
alias l='/bin/ls -F'
alias la='l -a'
alias ll='l -l'
alias lo='la -lo'
[ -x /usr/bin/hd ] || eval alias hd=\''hexdump -e '\''\'\'''\''"%08.8_ax' \
' " 8/1 "%02X " " - " 8/1 "%02X "'\''\'\'''\'' -e '\''\'\'''\'\" \
' |" "%_p"'\''\'\'''\'' -e '\''\'\'''\''"|\n"'\''\'\'''\'' '\'
# strip comments (and leading/trailing whitespace if IFS is set) from
# any file(s) given as argument, or stdin if none, and spew to stdout
function Lstripcom
{
cat "$@" | while read _line; do
set -o noglob
_line=${_line%%#*}
[[ -n $_line ]] && print -r -- $_line
done
}