Mktemp: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 5: Line 5:
=Overview=
=Overview=


<code>mktemp</code> takes file name templates and overwrites portions to generate a unique file name, creates the empty file with 0600 permissions (only the current users can read and write) and display the file name at stdout. If no template is given, a unique file name appropriate to the system will be generated. On Mac, <code>mktemp</code> creates something similar to <code>/var/folders/t3/mmn20npx7fs31lwlp2s4_6wm0000gq/T/tmp.hbvowAQL</code>.
Create a uniquely named temporary file or directory and display its name at stdout.
Create a uniquely named temporary file or directory and display its name at stdout.


<syntaxhighlight lang='bash'>
<syntaxhighlight lang='bash'>
local f=$(mktemp)
local f
f=$(mktemp) || exit 1
</syntaxhighlight>
</syntaxhighlight>
creates a /var/folders/t3/mmn20npx7fs31lwlp2s4_6wm0000gq/T/tmp.hbvowAQL file on Mac.


<font color=darkgray>Who's responsibility is to delete it? It is deleted automatically?</font>
<font color=darkgray>Who's responsibility is to delete it? It is deleted automatically?</font>

Revision as of 21:33, 17 February 2022

Internal

Overview

mktemp takes file name templates and overwrites portions to generate a unique file name, creates the empty file with 0600 permissions (only the current users can read and write) and display the file name at stdout. If no template is given, a unique file name appropriate to the system will be generated. On Mac, mktemp creates something similar to /var/folders/t3/mmn20npx7fs31lwlp2s4_6wm0000gq/T/tmp.hbvowAQL. Create a uniquely named temporary file or directory and display its name at stdout.

local f
f=$(mktemp) || exit 1

Who's responsibility is to delete it? It is deleted automatically?

Options

-d

Create a temporary directory instead of a file.

 mktemp -d