Erstellung einer temporären Datei

Bash:
Erstellung einer temporären Datei

Anleitung:

Erstellen einer temporären Datei mit mktemp:

tempfile=$(mktemp)
echo "Temporäre Datei angelegt: $tempfile"

Ausgabe:

Temporäre Datei angelegt: /tmp/tmp.IkXMlvM7ck

Eine temporäre Datei in einem bestimmten Verzeichnis:

tempfile=$(mktemp /mein/tempdir/XXXXXX)
echo "Temporäre Datei im benutzerdefinierten Verzeichnis: $tempfile"

Ausgabe:

Temporäre Datei im benutzerdefinierten Verzeichnis: /mein/tempdir/nmJf6H

Sicherer Aufräummechanismus mit trap:

tempfile=$(mktemp)
trap "rm -f $tempfile" EXIT
echo "Arbeite mit temporärer Datei: $tempfile"
# Hier deine Skript-Operationen

Das Skript löscht die temporäre Datei automatisch beim Beenden, selbst bei Fehlern.

Hintergrundinfos:

Die mktemp-Utility kam als sichere Alternative zur manuellen Dateinamensgenerierung auf, um Race Conditions und Sicherheitsprobleme zu vermeiden. Alternativ können ältere Methoden wie das Anhängen von $$ (die PID des Skripts) an Dateinamen genutzt werden, sind aber unsicher.

Ein Blick unter die Haube zeigt, dass mktemp eine einzigartige Zeichenkette generiert, oft durch Kombination von Zufallszahlen und Zeitstempeln, um Kollisionen zu vermeiden.

Sollen nur temporäre Daten im Speicher vorgehalten werden, kann stattdessen tmpfs verwendet werden, ein temporäres Filesystem im Arbeitsspeicher.

Weiterführende Links: