Making tmp Files and Directories On The Command Line

Use `mktmp`

See the examples from `man mktmp`

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

To allow the use of $TMPDIR:

tempfoo=`basename $0` TMPFILE=`mktemp -t ${tempfoo}` || exit 1 echo "program output" >> $TMPFILE

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

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

On mac, it'll use a directory something like:

/var/folders/dx/ypcmcxd53mb731bpkp_2p_vh0000gn/T/

That's what's set in $TMPDIR

It'll use `$_CS_DARWIN_USER_TEMP_DIR` if that's set instead. If neither of those are set, it'll fall back to `/tmp`