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