1*59ba73f6Skamil#!/bin/sh 2*59ba73f6Skamil: expand filename 3*59ba73f6Skamilcase "$1" in 4*59ba73f6Skamil ~/*|~) 5*59ba73f6Skamil echo $1 | sed "s|~|${HOME-$LOGDIR}|" 6*59ba73f6Skamil ;; 7*59ba73f6Skamil ~*) 8*59ba73f6Skamil if /bin/test -f /bin/csh; then 9*59ba73f6Skamil /bin/csh -f -c "glob $1" 10*59ba73f6Skamil echo "" 11*59ba73f6Skamil else 12*59ba73f6Skamil name=`expr x$1 : '..\([^/]*\)'` 13*59ba73f6Skamil dir=`sed -n -e "/^${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'$'"/\1/" -e p -e q -e '}' </etc/passwd` 14*59ba73f6Skamil if /bin/test ! -d "$dir"; then 15*59ba73f6Skamil me=`basename $0` 16*59ba73f6Skamil echo "$me: can't locate home directory for: $name" >&2 17*59ba73f6Skamil exit 1 18*59ba73f6Skamil fi 19*59ba73f6Skamil case "$1" in 20*59ba73f6Skamil */*) 21*59ba73f6Skamil echo $dir/`expr x$1 : '..[^/]*/\(.*\)'` 22*59ba73f6Skamil ;; 23*59ba73f6Skamil *) 24*59ba73f6Skamil echo $dir 25*59ba73f6Skamil ;; 26*59ba73f6Skamil esac 27*59ba73f6Skamil fi 28*59ba73f6Skamil ;; 29*59ba73f6Skamil*) 30*59ba73f6Skamil echo $1 31*59ba73f6Skamil ;; 32*59ba73f6Skamilesac 33