GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un file temporaneo nello script della shell?

Durante l'esecuzione di uno script, voglio creare un file temporaneo in /tmp directory.

Dopo l'esecuzione di quello script, quello verrà pulito da quello script.

Come farlo nello script della shell?

Risposta accettata:

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

Puoi assicurarti che un file venga eliminato quando lo script esce (inclusi kill e arresti anomali) aprendo un descrittore di file nel file ed eliminandolo. Il file rimane disponibile (per lo script; non proprio per altri processi ma /proc/$PID/fd/$FD è una soluzione alternativa) purché il descrittore di file sia aperto. Quando viene chiuso (cosa che il kernel fa automaticamente all'uscita del processo) il filesystem cancella il file.

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

Linux
  1. Come creare uno script di un comando Linux

  2. Come creare uno scambio in Linux

  3. Come aggiungere i dati al buffer nello script della shell?

  4. Come eseguire uno script di shell all'avvio

  5. Come eseguire un file senza estensione .sh nella shell

Come creare ed eseguire uno script di shell in Debian 10

Come creare ed eseguire uno script di shell in CentOS 8

Come creare un file del sito web

Come creare un file Tar gz

Come eseguire un comando in uno script della shell?

Come creare ed eseguire uno script di shell in Ubuntu 22.04