GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie erstelle ich eine temporäre Datei im Shell-Skript?

Während ich ein Skript ausführe, möchte ich eine temporäre Datei in /tmp erstellen Verzeichnis.

Nach der Ausführung dieses Skripts wird es von diesem Skript bereinigt.

Wie macht man das im Shell-Skript?

Akzeptierte Antwort:

tmpfile=$(mktemp /tmp/abc-script.XXXXXX)
: ...
rm "$tmpfile"

Sie können sicherstellen, dass eine Datei gelöscht wird, wenn das Skript beendet wird (einschließlich Kills und Abstürzen), indem Sie einen Dateideskriptor für die Datei öffnen und ihn löschen. Die Datei bleibt verfügbar (für das Skript; nicht wirklich für andere Prozesse, aber /proc/$PID/fd/$FD ist eine Problemumgehung), solange der Dateideskriptor geöffnet ist. Wenn es geschlossen wird (was der Kernel automatisch tut, wenn der Prozess beendet wird), löscht das Dateisystem die Datei.

tmpfile=$(mktemp /tmp/abc-script.XXXXXX)
exec 3>"$tmpfile"
rm "$tmpfile"
: ...
echo foo >&3

Linux
  1. So erstellen Sie ein Skript eines Linux-Befehls

  2. So erstellen Sie einen Swap unter Linux

  3. So erstellen Sie eine Auslagerungsdatei unter Linux

  4. Wie fügt man Daten an den Puffer im Shell-Skript an?

  5. So schließen Sie eine Datei in ein Bash-Shell-Skript ein

So erstellen und führen Sie ein Shell-Skript in Debian 10 aus

So erstellen und führen Sie ein Shell-Skript in CentOS 8 aus

So erstellen Sie eine Website-Datei

So erstellen Sie eine Tar gz-Datei

Wie führe ich einen Befehl in einem Shell-Skript aus?

So erstellen und führen Sie ein Shell-Skript in Ubuntu 22.04 aus