So überprüfen Sie mithilfe der Bash-Shell, ob eine Datei vorhanden ist

高洛峰
Freigeben: 2017-01-09 13:48:21
Original
1328 Leute haben es durchsucht

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 ]
Nach dem Login kopieren

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"
Nach dem Login kopieren

Dieser kombinierte Befehl gibt Folgendes aus:

Found
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage