Comment vérifier si un fichier existe en bash

Comment vérifier si un fichier existe en bash

Il existe plusieurs façons de vérifier la disponibilité d'un fichier dans Linux. La commande «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 grâce à des scripts bash:

Comment vérifier l'existence des fichiers à l'aide de scripts bash:

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

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

$ tactile TestFile.shot

Le nom du fichier que j'ai créé est «TestFile.sh », le«.L'extension sh ”indique le fichier de script shell:

Ouvrez le «TestFile.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 de l'utilisateur dans le terminal.

Utiliser "-F"Pour vérifier l'existence du fichier.

Écrivez le script ci-dessous:

#!/ bac / bash
Echo "Entrez votre nom de fichier"
Lire NewFile1
Si [-f "$ newfile1"]
alors
Echo "Fichier est trouvé"
autre
Echo "Le fichier n'est pas trouvé"
Fi

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

./nom de fichier.shot

L'autorisation refusée le message serait affichée dans le terminal.

Faites-le exécutable en exécutant la commande mentionnée ci-dessous:

$ chmod + x test.shot

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», la seconde utilise «If» avec une expression dans les crochets, et le troisième est également avec «IF» mais des supports carrés doubles comme indiqué ci-dessous:

  1. «Tester l'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:

#!/ bac / bash
filename = file1
Si test -f "$ filename";
alors
Echo "Le fichier $ a trouvé."
autre
Echo "Le fichier $ n'a pas été trouvé"
Fi

Sortir:

Comme il n'y a pas un tel fichier dans mon répertoire, le code affiche donc le message "Fichier n'est pas trouvé".

2) Si [expression]

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

#!/ bac / bash
nom de fichier = myfile.SMS
si [-f "$ filename"];
alors
Echo "$ File Name a trouvé."
autre
Echo "Le nom de fichier n'a pas été trouvé"
Fi

Sortir:

3) Si [[expression]]

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

#!/ bac / bash
FileName = TestFile
si [[-f "$ filename"]];
alors
Echo "$ File Name a trouvé."
autre
Echo "$ le ​​nom de fichier n'a pas été trouvé"
Fi

Sortir:

Pour vérifier le répertoire:

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

Utilisez le "-d»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 celui que vous trouvez; Dans cet exemple, je veux vérifier le nom du répertoire «TestDir» existe ou non.

#!/ bac / bash
dir11 = testdir
Si [-d "$ dir11"]
alors
Echo "Le répertoire a trouvé"
autre
Écho "Le répertoire n'a pas été trouvé"
Fi

Sortir:

2) En entrant 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 saisir le nom du répertoire que vous recherchez:

#!/ bac / bash
Echo "Tapez votre nom de répertoire."
Lire Dir1
Si [-d "dir1"]
alors
Echo "Le répertoire a été trouvé"
autre
Echo "Le répertoire n'a pas trouvé"
Fi

Sortir:

Vérification du fichier sans utiliser l'instruction «IF»:

La commande «Test» peut être exécutée sans l'instruction «IF». Il ne affichera la sortie que si le fichier existe; Sinon, il n'y aurait pas de sortie:

Écrivez le script:

  1. test -f myfile.txt && echo "Fichier a été trouvé"
  2. [-f myfile.txt] && echo "$ le ​​fichier a été trouvé."
  3. [[-f myfile.txt]] && echo "$ le ​​fichier a é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. [[-d testdir]] && echo "Le répertoire existe"
  2. 2) [-d testdir] && echo "Le répertoire existe"

Sortir:

Vérification de plusieurs fichiers / répertoires:

1) Vérification de plusieurs fichiers avec des instructions «IF»:
Utilisez le drapeau «-a» pour vérifier l'existence de divers fichiers au lieu d'utiliser des instructions «if / else»:

#!/ bac / bash
Si [-f new_file.txt -a -f newfile.SMS ]; alors
Echo "Les deux fichiers existent."
Fi

Une autre façon est:

#!/ bac / bash
Si [[-f new_file.txt && -f newfile.SMS ]]; alors
Echo "Les deux fichiers existent."
Fi

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 «If»:

  1. [[-f new_file.txt && -f newfile.txt]] && echo «Les deux fichiers quittent."
  2. [[-f new_file.txt && -f newfile.txt]] && echo «Les deux fichiers quittent."

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. Premièrement, nous utilisons la commande «Test» avec différents drapeaux. Ensuite, nous avons appris l'utilisation des instructions «If», imbriquées «if-else» 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.