#!/bin/sh
# mkhome -- make user directories.
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-03-06
# Public domain

# $Id: mkhome,v 1.3 1995/08/10 23:37:00 friedman Exp $

PATH="/usr/local/bin:/etc:/usr/etc:/usr/local/etc:${PATH}"
export PATH

umask 022

verbose=
case "$1" in
  -x )
    verbose=-x
    shift
   ;;
esac

case $# in
  0 )
    echo 'Usage: mkhome [user1] {user2} {...}' 1>&2
    exit 1
   ;;
esac

re_namelist="^$1:"
shift
for name in ${1+"$@"} ; do
   re_namelist="${re_namelist}\|^${name}:"
done

sedscript='/'"$re_namelist"'/{
              s/^[^:]*:[^:]*:\([^:]*\):\([^:]*\):[^:]*:\([^:]*\):.*/mkdir '\''\3'\'' ; chown '\''\1.\2'\'' '\''\3'\'' ;/
              s/\n//g
              s/^  *//g
              p
           }'

if grep '^+:' /etc/passwd > /dev/null 2>&1 ; then
   ypcat passwd | sed -n -e "$sedscript" | sh $verbose
else
   sed -n -e "$sedscript" /etc/passwd | sh $verbose
fi

# eof
