#
Size: a a a
#
#
#
#
#
¥
¥
¥
#
#
#
#
N
¥
#
¥
¥
¥
PS1='\e[34m$(dirabbr $PS1)'"\e[0m \$ "
PS2='$(make_ps2)'
dirabbr() {
[[ $1 == $HOME ]] && printf "~" && exit
local dname=`dirname $1`
local bname=`basename $1`
local out="$bname"
while [[ $dname != $HOME ]] && [[ $dname != / ]]; do
bname=`basename $dname`
dname=`dirname $dname`
out="`echo $bname | cut -c1`/$out"
done
[[ $dname == $HOME ]] && printf "~/" || printf $dname
echo $out
}
make_ps2() {
local len=$(printf "%s $" $(dirabbr $PWD) | wc -c)
eval "printf ' %.0s' {2..$len}"
printf '> \n'
}