Maison > Article > Opération et maintenance > Bash Shell : tester si un fichier ou un répertoire existe
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.
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!