Maison >développement back-end >Tutoriel Python >Comment vérifier si un fichier existe à l'aide de Bash Shell

Comment vérifier si un fichier existe à l'aide de Bash Shell

高洛峰
高洛峰original
2017-01-09 13:48:211383parcourir

Avant-propos

Vous pouvez souvent rencontrer un tel besoin lorsque vous travaillez Dans l'environnement Bash d'un système de type Unix, comment vérifier si un fichier existe ? Puisqu'il y a un besoin, il existe bien sûr une solution. La commande test dans le Shell peut être utilisée pour détecter le type du fichier ou comparer si les valeurs sont égales. Cette commande peut également être utilisée pour vérifier si le fichier. existe.

Vous pouvez utiliser la commande suivante pour vérifier :

test -e filename
[ -e filename ]
  
test -f filename
[ -f filename ]

La commande suivante utilise l'expression conditionnelle de Shell pour juger/Si le etc/ Le fichier hosts existe :

[ -f /etc/hosts ] && echo "Found" || echo "Not found"

Cette commande combinée affichera ce qui suit :

Found

Une utilisation plus courante consiste à placer la commande test dans l'expression conditionnelle du jugement conditionnel if..else..fi, puis à y écrire une logique de branche différente

#!/bin/bash
file="/etc/hosts"
if [ -f "$file" ]
then
 echo "$file found."
else
 echo "$file not found."
fi

Opérateurs associés pour détecter les attributs du fichier

Si le fichier existe et possède les attributs correspondants, les opérateurs suivants retourneront vrai :

-b FILE
  FILE exists and is block special
-c FILE
  FILE exists and is character special
-d FILE
  FILE exists and is a directory
-e FILE
  FILE exists
-f FILE
  FILE exists and is a regular file
-g FILE
  FILE exists and is set-group-ID
-G FILE
  FILE exists and is owned by the effective group ID
-h FILE
  FILE exists and is a symbolic link (same as -L)
-k FILE
  FILE exists and has its sticky bit set
-L FILE
  FILE exists and is a symbolic link (same as -h)
-O FILE
  FILE exists and is owned by the effective user ID
-p FILE
  FILE exists and is a named pipe
-r FILE
  FILE exists and read permission is granted
-s FILE
  FILE exists and has a size greater than zero
-S FILE
  FILE exists and is a socket
-t FD file descriptor FD is opened on a terminal
-u FILE
  FILE exists and its set-user-ID bit is set
-w FILE
  FILE exists and write permission is granted
-x FILE
  FILE exists and execute (or search) permission is granted

La commande ci-dessus est copiée de man test.

La méthode d'utilisation des symboles ci-dessus est exactement la même :

if [ operator FileName ]
then
  echo "FileName - Found, take some action here"
else
 echo "FileName - Not found, take some action here"
fi

Résumé

Ce qui précède est le contenu complet de cet article, j'espère que le contenu de cet article pourra être utile aux études ou au travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer.

Pour plus d'articles sur la façon d'utiliser Bash Shell pour vérifier si un fichier existe, veuillez faire attention au site Web PHP 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