Mktemp: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 5: Line 5:
=Overview=
=Overview=


Create a temporary file or directory and display its name at stdout.
<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 displays the file name at stdout. If no template is given, a unique file name appropriate to the system will be generated and the empty file is created. 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.


<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.
The file such created is NOT removed automatically, it is the user's responsibility to remove it.
 
<font color=darkgray>Who's responsibility is to delete it? It is deleted automatically?</font>


=Options=
=Options=
 
==<tt>-d</tt>==
==-d==
Create a temporary directory instead of a file.
 
<syntaxhighlight lang='bash'>
  mktemp -d
  mktemp -d
 
</syntaxhighlight>
Create a temporary directory.
=Delete Temporary Directory on Exit=
{{Internal|Trap#Delete_Temporary_Directory_on_Exit|Delete Temporary Directory on Exit}}

Latest revision as of 04:51, 4 May 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 displays the file name at stdout. If no template is given, a unique file name appropriate to the system will be generated and the empty file is created. 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

The file such created is NOT removed automatically, it is the user's responsibility to remove it.

Options

-d

Create a temporary directory instead of a file.

 mktemp -d

Delete Temporary Directory on Exit

Delete Temporary Directory on Exit