-d
ist ein Operator, um zu testen, ob das angegebene Verzeichnis existiert oder nicht.
Zum Beispiel habe ich ein einziges Verzeichnis namens /home/sureshkumar/test/.
Die Verzeichnisvariable enthält "/home/sureshkumar/test/"
if [ -d $directory ]
Diese Bedingung ist nur wahr, wenn das Verzeichnis vorhanden ist. In unserem Beispiel existiert das Verzeichnis, also ist diese Bedingung wahr.
Ich ändere die Verzeichnisvariable in "/home/a/b/". Dieses Verzeichnis existiert nicht.
if [ -d $directory ]
Nun ist diese Bedingung falsch. Wenn ich die !
setze davor, wenn das Verzeichnis nicht existiert, dann ist die if-Bedingung wahr. Wenn das Verzeichnis existiert, dann if [ ! -d $directory ]
Bedingung ist falsch.
Der Betrieb der ! Operator ist, wenn die Bedingung wahr ist, dann sagt er, dass die Bedingung falsch ist. Wenn die Bedingung falsch ist, dann sagt es, dass die Bedingung wahr ist. Das ist das Werk von ! Betreiber.
if [ ! -d $directory ]
Diese Bedingung ist nur wahr, wenn das Verzeichnis $ nicht existiert. Wenn das Verzeichnis existiert, wird false zurückgegeben.
Die Klammern sind die ausführbare Testdatei, das Ausrufezeichen ist eine Negation und der -d
Option prüft, ob die Variable $directory
ist ein Verzeichnis.
Von Menschentest:
-d FILE
FILE exists and is a directory
! EXPRESSION
EXPRESSION is false
Das Ergebnis ist eine if-Anweisung mit der Aufschrift „if $directory
ist kein Verzeichnis"