GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es el significado de `! -d` en este comando Bash?

-d es un operador para probar si el directorio dado existe o no.

Por ejemplo, tengo un único directorio llamado /home/sureshkumar/test/.

La variable de directorio contiene "/home/sureshkumar/test/"

if [ -d $directory ]

Esta condición es verdadera solo cuando existe el directorio. En nuestro ejemplo, el directorio existe, por lo que esta condición es verdadera.

Estoy cambiando la variable del directorio a "/home/a/b/". Este directorio no existe.

if [ -d $directory ]

Ahora bien, esta condición es falsa. Si pongo el ! delante si el directorio no existe, entonces la condición if es verdadera. Si el directorio existe entonces el if [ ! -d $directory ] la condición es falsa.

La operación del ! operador es si la condición es verdadera, entonces dice que la condición es falsa. Si la condición es falsa, dice que la condición es verdadera. Este es el trabajo de! operador.

if [ ! -d $directory ]

Esta condición es verdadera solo si el $directorio no existe. Si el directorio existe, devuelve falso.


Los corchetes son el ejecutable de prueba, el signo de exclamación es una negación y el -d opción comprueba si la variable $directory es un directorio.

De la prueba del hombre:

-d FILE
       FILE exists and is a directory

! EXPRESSION
       EXPRESSION is false

El resultado es una declaración if que dice "if $directory no es un directorio"


Linux
  1. ¿Cuál es el significado de POSIX?

  2. ¿Cuál es el significado de 'lista negra' en GStreamer?

  3. ¿Cuál es el uso de $# en Bash?

  4. ¿Cuál es el significado de la dirección 10.0.0.1/24 de mi computadora (del comando ip addr)?

  5. ¿Qué se supone que debe hacer el comando de exportación en Linux?

Cómo usar el comando de lectura Bash

¿Qué es el comando Watch de Linux + ejemplos?

¿Qué es el comando matar en Linux?

El comando find Directory de Linux:Explicación

¿Qué hace la -e en un bash shebang?

¿Cuál es el significado de 1 al final del script awk?