Bruno Haible <[EMAIL PROTECTED]> writes: > I think it's worth describing how to portably create a temporary > file.
Thanks for this suggestion. I altered the change a bit and installed this: 2005-02-04 Bruno Haible <[EMAIL PROTECTED]> and Paul Eggert <[EMAIL PROTECTED]> * doc/autoconf.texi (Limitations of Usual Tools): New mkstemp entry. --- autoconf.texi 3 Feb 2005 00:31:33 -0000 1.873 +++ autoconf.texi 5 Feb 2005 00:11:43 -0000 1.874 @@ -11819,6 +11819,35 @@ recent enough (the copies shipped with A older versions are not thread-safe either). [EMAIL PROTECTED] @command{mktemp} [EMAIL PROTECTED] ------------------- [EMAIL PROTECTED] @command{mktemp} [EMAIL PROTECTED] Creating temporary files +The command @command{mktemp} lets shell scripts use temporary files +safely, but it does not exist on all systems. A portable way to create +a safe temporary file name is to create a temporary directory with mode +700 and use a file inside this directory. + +Here is sample code to create a new temporary directory safely +under @code{$TMPDIR}, with the default location being @file{/tmp}: + [EMAIL PROTECTED] +: [EMAIL PROTECTED]/[EMAIL PROTECTED] [EMAIL PROTECTED] + # Prefer mktemp if it exists, as it is more reliable. + tmp=` + (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null + ` && + test -n "$tmp" && test -d "$tmp" [EMAIL PROTECTED] || [EMAIL PROTECTED] + # Fall back on mkdir; $RANDOM makes collisions less likely. + tmp=$TMPDIR/foo$$-$RANDOM + (umask 077 && mkdir "$tmp") [EMAIL PROTECTED] || exit $? [EMAIL PROTECTED] example + + @item @command{mv} @c --------------- @prindex @command{mv} _______________________________________________ Autoconf mailing list Autoconf@gnu.org http://lists.gnu.org/mailman/listinfo/autoconf