Maison  >  Article  >  Opération et maintenance  >  Bash Shell : tester si un fichier ou un répertoire existe

Bash Shell : tester si un fichier ou un répertoire existe

不言
不言original
2019-03-22 16:03:135777parcourir

Lorsque nous utilisons la programmation bash, nous devons souvent vérifier si un fichier existe déjà, créer un nouveau fichier et insérer des données dans le fichier. Parfois, nous devons également exécuter d'autres scripts à partir d'autres scripts. Cet article présentera Bash Shell : tester si un fichier ou un répertoire existe.

Bash Shell : tester si un fichier ou un répertoire existe

1. shell bash : Testez si le fichier existe

Si nous devons ajouter du contenu ou créer un fichier à partir d'un script. Tout d'abord, assurez-vous que le fichier existe déjà. Par exemple, l'un de mes scripts crée un journal dans file/tmp/testfile.log et nous devons nous assurer que ce fichier existe.

#!/bin/bash
 
if [ -f /tmp/testfile.log ]
then
    echo "File exists"
fi

La déclaration ci-dessus peut également être écrite en utilisant le mot-clé test comme indiqué ci-dessous

#!/bin/bash
 
if test -f /tmp/testfile.log
then
    echo "File exists"
fi

ou sur une seule ligne, nous pouvons l'écrire comme indiqué ci-dessous. Ceci est très utile lors de l'écriture de scripts shell.

[ -f /tmp/testfile.log ] && echo "File exists"

Ajouter d'autres parties à la commande ci-dessus

[ -f /tmp/testfile.log ] && echo "File exists" || echo "File not exists"

2. shell bash : tester si le répertoire existe

Parfois, nous en avons besoin. Crée un fichier dans un répertoire spécifique ou nécessite un répertoire. Nous devons tous nous assurer que ce répertoire existe. Par exemple, nous vérifions maintenant si /tmp/mydir existe.

#!/bin/bash
 
if [ -d /tmp/mydir ]
then
    echo "Directory exists"
fi

La déclaration ci-dessus peut également être écrite en utilisant le mot-clé test comme indiqué ci-dessous

#!/bin/bash
 
if test -d /tmp/mydir
then
    echo "Directory exists"
fi

ou sur une seule ligne, nous pouvons l'écrire comme indiqué ci-dessous

[ -d /tmp/mydir ] && echo "Directory exists"

3. Bash Shell : Créez un répertoire de fichiers s'il n'existe pas

C'est la meilleure façon de vérifier si un fichier existe avant de le créer, sinon vous risquez de recevoir un message d'erreur. Ceci est utile lors de la création de fichiers ou de répertoires requis par un script shell au moment de l'exécution.

Fichier :

[ ! -f /tmp/testfile.log ] && touch /tmp/testfile.log

Répertoire :

1    [ ! -d /tmp/mydir ] && mkdir -p /tmp/mydir

Cet article est par ici, il y a d'autres contenus passionnants auxquels vous pouvez prêter attention à la colonne Vidéo du didacticiel Linux sur le site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn