GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was bedeutet „! -d` in diesem Bash-Befehl?

-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"


Linux
  1. Der „eval“-Befehl in Bash?

  2. Was bedeutet „auf der schwarzen Liste“ bei GStreamer?

  3. Schrägstriche und der Befehl rsync

  4. Was ist der Unterschied zwischen &> und >&in bash?

  5. Was bedeutet 1 am Ende des awk-Skripts?

So verwenden Sie den Bash-Lesebefehl

Was ist der Linux-Überwachungsbefehl + Beispiele

Was ist der Kill-Befehl in Linux?

Der Linux-Befehl zum Suchen des Verzeichnisses:Erklärt

Was soll der export-Befehl unter Linux bewirken?

Was macht das -e in einem Bash-Shebang?