Commands specified to
esyscmd might need a
temporary file, for output or for some other purpose.
There is a builtin macro,
maketemp, for making temporary file
which expands to a name of a non-existent file, made from the string
template, which should end with the string `XXXXXX'. The six
X's are then replaced, usually with something that includes the
process id of the
m4 process, in order to make the filename unique.
maketemp(`/tmp/fooXXXXXX') =>/tmp/fooa07346 maketemp(`/tmp/fooXXXXXX') =>/tmp/fooa07346
As seen in the example, several calls of
maketemp might expand to
the same string, since the selection criteria is whether the file exists
or not. If a file has not been created before the next call, the two
macro calls might expand to the same name.
The builtin macro
maketemp is recognized only when given
Go to the first, previous, next, last section, table of contents.