Comment vérifier si un fichier existe dans bash

How Check If File Exists Bash



Il existe plusieurs façons de vérifier la disponibilité d'un fichier sous Linux. La commande de test dans les scripts bash est l'une des approches clés pour vérifier l'existence d'un fichier.
L'objectif de ce guide est de discuter de l'existence d'un fichier dans votre système via des scripts bash :

Comment vérifier l'existence d'un fichier à l'aide de scripts bash :

1) En saisissant le nom du fichier dans le terminal :







Tout d'abord, nous devons créer un fichier de script bash, utilisez la commande mentionnée ci-dessous :



$toucherfichiertest.sh

Le nom du fichier que j'ai créé est testfile.sh, l'extension .sh indique le fichier de script shell :







Ouvrez le fichier test.sh dans n'importe quel éditeur de texte. Ensuite, écrivez le script, enregistrez-le en appuyant sur enregistrer.

Une façon consiste à trouver un fichier en demandant un nom de fichier à l'utilisateur dans le terminal.



Utilisation -F pour vérifier l'existence du fichier.

Écrivez le script ci-dessous :

#!/bin/bash
chassèrent 'Entrez votre nom de fichier'
lirenouveaufichier1
si [ -F '$nouveaufichier1' ]
alors
chassèrent 'Le fichier est trouvé'
autre
chassèrent 'Le fichier n'est pas trouvé'
être

Retournez au terminal et exécutez le fichier pour imprimer la sortie :

./nom de fichier.sh

Un message d'autorisation refusée s'afficherait dans le terminal.

Rendez-le exécutable en exécutant la commande ci-dessous :

$chmod+ x fichiertest.sh

Entrez le nom du fichier et il imprimera la sortie :

2) En entrant le nom du fichier lors de l'écriture du script :
Une autre façon de trouver un fichier en donnant le nom du fichier lors de l'écriture du script. Nous avons trois façons de vérifier la disponibilité du fichier. Le premier utilise la commande test, le second utilise if avec une expression entre crochets, et le troisième est également avec if mais doubles crochets comme indiqué ci-dessous :

  1. tester EXPRESSION.
  2. si [ EXPRESSION ]
  3. si [[ EXPRESSION ]]

Comprenons-le avec des exemples :

1) tester [ Expression ]
Copiez le script donné et collez-le dans l'éditeur, enregistrez-le :

#!/bin/bash
nom de fichier=fichier1
si test -F '$nom de fichier';
alors
chassèrent '$fichiera trouvé.'
autre
chassèrent '$fichiern'a pas été trouvé'
être

Sortir:

Comme il n'y a pas de tel fichier dans mon répertoire, le code affiche donc le message Fichier introuvable.

2) si [ Expression ]

Copiez le script suivant pour vérifier si le fichier existe ou non :

#!/bin/bash
nom de fichier=monfichier.txt
si [ -F '$nom de fichier' ];
alors
chassèrent '$nom de fichiera trouvé.'
autre
chassèrent 'le nom de fichier n'a pas été trouvé'
être

Sortir:

3) si [[ Expression ]]

Copiez le script écrit ci-dessous et collez-le sur le terminal :

#!/bin/bash
nom de fichier=fichier test
si [[ -F '$nom de fichier' ]];
alors
chassèrent '$nom de fichiera trouvé.'
autre
chassèrent '$nom de fichiern'a pas été trouvé'
être

Sortir:

Pour vérifier le répertoire :

3) En entrant le nom du répertoire lors de l'écriture d'un script

Utilisez le -ré flag pour vérifier l'existence d'un répertoire.

Dans le script mentionné ci-dessous, dir11 est la variable dans laquelle vous stockez le fichier que vous trouvez ; dans cet exemple, je veux vérifier que le nom du répertoire testDir existe ou non.

#!/bin/bash
dir11=testDir
si [ -ré '$dir11' ]
alors
chassèrent « Le répertoire a été trouvé »
autre
chassèrent 'Le répertoire n'a pas été trouvé'
être

Sortir:

2) En saisissant le nom du fichier dans le terminal :
Lorsque vous exécutez la commande dans le terminal pour vérifier si le répertoire existe ou non, vous devez entrer le nom du répertoire que vous recherchez :

#!/bin/bash
chassèrent 'tapez votre nom de répertoire.'
lireRép1
si [ -ré 'Dir1' ]
alors
chassèrent 'le répertoire a été trouvé'
autre
chassèrent 'le répertoire n'a pas été trouvé'
être

Sortir:

Vérification du fichier sans utiliser l'instruction if :

La commande de test peut être exécutée sans l'instruction if. Il n'affichera la sortie que si le fichier existe ; sinon, il n'y aurait pas de sortie :

Écrire un scénario :

  1. test -Fmonfichier.txt&& chassèrent 'le fichier a été trouvé'

  2. [ -Fmonfichier.txt] && chassèrent '$fichiera été trouvé.'

  3. [[ -Fmonfichier.txt]] && chassèrent '$fichiera été trouvé.'

Sortir:

Vérification du répertoire sans utiliser l'instruction if :

Utilisez les instructions mentionnées ci-dessous pour vérifier qu'un répertoire existe ou non :

  1. [[ -rétestDir]] && chassèrent 'le répertoire existe'

  2. 2) [ -rétestDir] && chassèrent 'le répertoire existe'

Sortir:

Vérification de plusieurs fichiers/répertoires :

1) Vérification de plusieurs fichiers avec des instructions if :
Utilisez l'indicateur -a pour vérifier l'existence de divers fichiers au lieu d'utiliser des instructions if/else imbriquées :

#!/bin/bash
si [ -Fnouveau_fichier.txt -Fnouveaufichier.txt];alors
chassèrent 'Les deux fichiers existent.'
être

Une autre façon est :

#!/bin/bash
si [[ -Fnouveau_fichier.txt&& -Fnouveaufichier.txt]];alors
chassèrent 'Les deux fichiers existent.'
être

Sortir:

2) Vérification de plusieurs fichiers sans utiliser l'instruction if :
Utilisez l'instruction suivante pour vérifier plusieurs fichiers simultanément 1 sans utiliser if :

  1. [[ -Fnouveau_fichier.txt&& -Fnouveaufichier.txt]] && chassèrentLes deux fichiers se terminent.

  2. [[ -Fnouveau_fichier.txt&& -Fnouveaufichier.txt]] && chassèrentLes deux fichiers se terminent.

Sortir:

Conclusion:

Cet article a montré comment utiliser les scripts bash pour vérifier un fichier ou un répertoire. Nous avons utilisé différentes options pour vérifier la disponibilité d'un fichier. Tout d'abord, nous utilisons la commande test avec différents drapeaux. Ensuite, nous avons appris l'utilisation de if, if-else imbriqué et sans les instructions if pour vérifier le fichier ou le répertoire. Nous avons également examiné comment vérifier plusieurs fichiers ou répertoires.