web-dev-qa-db-fra.com

Considérations pour l'utilisation du répertoire `/ tmp` sur les systèmes multi-utilisateurs

Alors que j'en apprenais plus sur Ubuntu et la programmation bash, je stockais des variables dans /tmp. Par exemple, entre les appels au même script bash, je veux enregistrer l'état précédent.

Sur mon système mono-utilisateur actuel, il n'y a aucun danger de conflits dans /tmp répertoire. Cependant, je veux que mon code soit à l'épreuve du temps et je me demande si je devrais prendre l'habitude d'utiliser un répertoire appelé ~/tmp?

Peut-être que cela devrait être ~/.tmp et caché. Peut-être que cela devrait être ~/temp pour ne pas être confondu avec le conventionnel /tmp répertoire.

Toutes les idées/suggestions sont appréciées. Je vous remercie.

3
WinEunuuchs2Unix

En règle générale, si vous souhaitez stocker l'état de chaque utilisateur, le moyen le plus simple consiste simplement à créer un répertoire dédié pour l'application dans le répertoire de base des utilisateurs:

CFGDIR="${HOME}/.mycoolapp"
mkdir -p ${CFGDIR}
# read / write files in ${CFGDIR} here..

Si vous voulez juste un stockage temporaire pour une instance du script, une bonne approche consiste à utiliser mktemp. Par exemple:

TMPDIR="$(mktemp -d)"
# read / write files in ${TMPDIR} here..
rm -rf ${TMPDIR}
1
d99kris