[Bash] Création d'un répertoire temporaire sûr et polyvalent
introduction
--Dans la création de répertoires temporaires habituellement utilisée dans le shell, les points suivants ont été améliorés.
- Des noms en double peuvent se produire en raison de spécifications directes telles que
mkdir / tmp / path
.
--Il n'est pas sûr en termes de sécurité car il est spécifié directement.
- Il est nécessaire de rendre le nom unique et d'ajouter de la pertinence pour le rendre facile à utiliser et polyvalent dans le processus.
- Par conséquent, cette fois, nous allons décrire comment créer un répertoire tmp unique, sûr et polyvalent.
résultat
--En conséquence, écrivez d'abord le contenu suivant dans le fichier shell préparé.
index.sh
#!/bin/bash
basepath=$(basename $0)
timestamp=$(date +%Y%m%d%H%M%S)
tmpd=$(mktemp -dt "$basepath.$timestamp.$$")/
echo $tmpd
#production
# $TMPDIR/index.sh.20200919152709.XXXX.XXXXX/
- Après l'écriture, exécutez-le plusieurs fois, vérifiez la création du chemin de sortie et des noms non dupliqués, et terminez.
Traitement du contenu
Utilisation de la commande mktemp
- En utilisant la commande ** mktemp ** pour créer un répertoire, il créera automatiquement un fichier ou un répertoire de taille 0.
- Cliquez ici pour plus de détails sur l'utilisation de mktemp Référence
Utilisation des options de modèle
--Utilisez l'option t (template), qui est une option spécifique à cette commande, lors de la création avec mktemp.
- Ce faisant, il sera automatiquement créé dans le chemin défini dans
$ TMPDIR
sans décrire le nom du répertoire.
- ** * Lors de la recherche de l'emplacement de stockage tmp défini, recherchez avec ʻecho $ TMPDIR` **
- ** * Si non défini, spécifier directement avec
-p
ou stocker dans / tmp
**
Ajouter des éléments associés au nom
- Ajoutez quelque chose en rapport avec le nom pour le rendre plus facile à utiliser lors du traitement dans le programme.
――Les éléments minimum ajoutés sont les suivants.
--Nom du chemin d'exécution
- Horodatage (heure)
Résumé
À partir de ce qui précède, Linux a de nombreuses commandes pour résoudre les problèmes en standard, j'ai donc reconfirmé l'importance de se souvenir et de combiner ne serait-ce que l'une d'entre elles.
――Bien qu'il soit nécessaire de considérer la sécurité, en même temps, j'ai réalisé l'importance de la prise de conscience de la facilité d'utilisation et de la polyvalence du traitement dans le programme.
référence