NetBSD/games/warp/filexp

33 lines
606 B
Bash

#!/bin/sh
: expand filename
case "$1" in
~/*|~)
echo $1 | sed "s|~|${HOME-$LOGDIR}|"
;;
~*)
if /bin/test -f /bin/csh; then
/bin/csh -f -c "glob $1"
echo ""
else
name=`expr x$1 : '..\([^/]*\)'`
dir=`sed -n -e "/^${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'$'"/\1/" -e p -e q -e '}' </etc/passwd`
if /bin/test ! -d "$dir"; then
me=`basename $0`
echo "$me: can't locate home directory for: $name" >&2
exit 1
fi
case "$1" in
*/*)
echo $dir/`expr x$1 : '..[^/]*/\(.*\)'`
;;
*)
echo $dir
;;
esac
fi
;;
*)
echo $1
;;
esac