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

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

不言
Libérer: 2019-03-22 16:03:13
original
5820 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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"
Copier après la connexion

Ajouter d'autres parties à la commande ci-dessus

[ -f /tmp/testfile.log ] && echo "File exists" || echo "File not exists"
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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

[ -d /tmp/mydir ] && echo "Directory exists"
Copier après la connexion

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
Copier après la connexion

Répertoire :

1    [ ! -d /tmp/mydir ] && mkdir -p /tmp/mydir
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal