GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un fichier temporaire en script shell ?

Lors de l'exécution d'un script, je souhaite créer un fichier temporaire dans /tmp répertoire.

Après l'exécution de ce script, cela sera nettoyé par ce script.

Comment faire cela en script shell ?

Réponse acceptée :

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

Vous pouvez vous assurer qu'un fichier est supprimé lorsque les scripts se terminent (y compris les kills et les plantages) en ouvrant un descripteur de fichier vers le fichier et en le supprimant. Le fichier reste disponible (pour le script; pas vraiment pour les autres processus mais /proc/$PID/fd/$FD est une solution de contournement) tant que le descripteur de fichier est ouvert. Lorsqu'il est fermé (ce que le noyau fait automatiquement lorsque le processus se termine), le système de fichiers supprime le fichier.

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

Linux
  1. Comment créer un script d'une commande Linux

  2. Comment créer un fichier d'échange sous Linux

  3. Comment vérifier la sous-chaîne dans Shell Script Bash?

  4. Comment inclure un fichier dans un script shell bash

  5. Comment exécuter un script shell au démarrage

Comment créer et exécuter un script shell dans Debian 10

Comment créer et exécuter un script Shell dans CentOS 8

Comment créer un fichier de site Web

Comment créer un fichier Tar gz

Comment exécuter une commande dans un script shell ?

Comment créer et exécuter un script shell dans Ubuntu 22.04