## DESCRIPTION

         The mktemp utility takes the given file name template and overwrites a
         portion of it to create a file name.  This file name is unique and suit
         able for use by the application.  The template may be any file name with
         exactly six of `Xs' appended to it, for example /tmp/temp.XXXXXX.  The
         trailing six `Xs' are replaced with the current process number and/or a
         unique letter combination.  The number of unique file names mktemp can
         return are roughly 26 ** 6 combinations.

         If mktemp can successfully generate a unique file name, the file is cre
         ated with mode 0600 (unless the -u flag is given) and the filename is
         printed to standard output.

## OPTIONS

         The available options are as follows:

         -d      Make a directory instead of a file.

         -q      Fail silently if an error occurs.  This is useful if a script
                 does not want error output to go to standard error.

         -u      Operate in ``unsafe'' mode.  The temp file will be unlinked
                 before mktemp exits.  This is slightly better than mktemp(3) but
                 still introduces a race condition.  Use of this option is not
                 encouraged.

## RETURN VALUES

         The mktemp utility exits with a value of 0 on success, and 1 on failure.

## EXAMPLES

         The following sh(1) fragment illustrates a simple use of mktemp where the
         script should quit if it cannot get a safe temporary file.

               TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1
               echo "program output" >> $TMPFILE

         In this case, we want the script to catch the error itself.

               TMPFILE=`mktemp -q /tmp/$0.XXXXXX`
               if [ $? -ne 0 ]; then
                       echo "$0: Can't create temp file, exiting..."
                       exit 1
               fi

         Note that one can also check to see that $TMPFILE is zero length instead
         of checking $?.  This would allow the check to be done later one in the
         script (since $? would get clobbered by the next shell command).

## SEE ALSO

         mkstemp(3), mktemp(3)