Bash:
Création d'un fichier temporaire

How to (Comment faire) :

Voici deux façons simples de créer un fichier temporaire en Bash :

# Avec mktemp
tempfile=$(mktemp)
echo "Ceci est un fichier temporaire" > "$tempfile"
echo "Créé : $tempfile"
cat "$tempfile"

Sortie :

Créé : /tmp/tmp.IkZIXca2Vu
Ceci est un fichier temporaire
# Directement avec une redirection vers un fichier temporaire
echo "Ceci est un fichier temporaire" > /tmp/monfichier.$$

Deep Dive (Plongée en profondeur) :

Historiquement, la création de fichiers temporaires était gérée manuellement, ce qui posait des problèmes de sécurité et de concurrence. mktemp a été introduit pour créer de manière sécurisée des fichiers temporaires uniques. Il garantit qu’aucun autre processus ne crée un fichier avec le même nom, évitant les collisions.

Il y a d’autres alternatives comme tempfile (déprécié) ou la création manuelle d’un fichier temporaire en utilisant le PID (Process ID) du script avec $$ pour l’unicité.

Les fichiers temporaires doivent idéalement être détruits après utilisation. Avec mktemp, on peut nettoyer le fichier temporaire en cas de sortie normale ou d’interruption du script avec un piège (trap):

tempfile=$(mktemp)
trap "rm -f $tempfile" EXIT

# Utilisez le fichier temporaire ici.

# Le fichier temporaire sera supprimé à la sortie du script.

See Also (Voir aussi) :