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 !