GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è il significato di `! -d` in questo comando Bash?

-d è un operatore per verificare se la directory data esiste o meno.

Ad esempio, ho un'unica directory chiamata /home/sureshkumar/test/.

La variabile directory contiene "/home/sureshkumar/test/"

if [ -d $directory ]

Questa condizione è vera solo quando la directory esiste. Nel nostro esempio, la directory esiste quindi questa condizione è vera.

Sto cambiando la variabile della directory in "/home/a/b/".Questa directory non esiste.

if [ -d $directory ]

Ora questa condizione è falsa. Se metto il ! davanti se la directory non esiste, la condizione if è vera. Se la directory esiste allora if [ ! -d $directory ] la condizione è falsa.

Il funzionamento del! operatore è se la condizione è vera, allora dice che la condizione è falsa. Se la condizione è falsa allora dice che la condizione è vera. Questo è il lavoro di ! operatore.

if [ ! -d $directory ]

Questa condizione è vera solo se la $directory non esiste. Se la directory esiste, restituisce false.


Le parentesi sono l'eseguibile del test, il punto esclamativo è una negazione e il -d opzione controlla se la variabile $directory è una directory.

Dal test uomo:

-d FILE
       FILE exists and is a directory

! EXPRESSION
       EXPRESSION is false

Il risultato è un'istruzione if che dice "if $directory non è una directory"


Linux
  1. Qual è il significato di un doppio segno di dollaro in bash/Makefile?

  2. '&&' vs. '&' con il comando 'test' in Bash

  3. Qual è l'uso di $# in Bash

  4. Qual è la differenza tra &> e >&in bash?

  5. Cosa fa -e in un bash shebang?

Come utilizzare il comando di lettura Bash

Cos'è il comando Linux Watch + Esempi

Il comando "eval" in Bash?

Capisci il significato di `$_`?

Qual è il comando kill in Linux?

Il comando Trova Directory di Linux:spiegato