Vorwort
Wie kann man bei der Arbeit in der Bash-Umgebung eines Unix-ähnlichen Systems häufig auf ein solches Bedürfnis stoßen? Da eine Nachfrage besteht, gibt es natürlich eine Lösung, mit der Sie den Dateityp ermitteln oder vergleichen können. Mit diesem Befehl können Sie auch überprüfen, ob die Datei vorhanden ist existiert.
Sie können den folgenden Befehl verwenden, um zu überprüfen:
test -e filename [ -e filename ] test -f filename [ -f filename ]
Der folgende Befehl verwendet den bedingten Ausdruck von Shell, um zu beurteilen/ Ob das etc/ hosts-Datei existiert:
[ -f /etc/hosts ] && echo "Found" || echo "Not found"
Dieser kombinierte Befehl gibt Folgendes aus:
Found
Eine häufigere Verwendung besteht darin, den Testbefehl in den bedingten Ausdruck der bedingten Beurteilung if..else..fi einzufügen und dann eine andere Verzweigungslogik darin zu schreiben
#!/bin/bash file="/etc/hosts" if [ -f "$file" ] then echo "$file found." else echo "$file not found." fi
Verwandte Operatoren zum Erkennen von Dateiattributen
Wenn die Datei vorhanden ist und die entsprechenden Attribute aufweist, geben die folgenden Operatoren „true“ zurück:
-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
Der obige Befehl wurde von man test kopiert.
Die Methode zur Verwendung der oben genannten Symbole ist genau die gleiche:
if [ operator FileName ] then echo "FileName - Found, take some action here" else echo "FileName - Not found, take some action here" fi
Zusammenfassung
Das Obige ist das Gesamter Inhalt dieses Artikels Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein kann. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation hinterlassen.
Weitere verwandte Artikel zur Verwendung von Bash Shell zum Überprüfen, ob eine Datei vorhanden ist, finden Sie auf der chinesischen PHP-Website!