Negar una condición en Shell Script

Para hacer una comprobación en Shell Script y saber si algo es verdadero o falso y, en función de este resultado ejecutar un bloque de código u otro, usamos la estructura de control if en combinación con el comando test, que muchas veces lo sustituimos por [ condicion ].

Por ejemplo, para saber si un fichero existe, podemos comprobarlo con:

#!/bin/bash

if [ -e fichero.txt ]
then
    echo El fichero existe
fi

Hay veces que ejecutamos un bloque de instrucciones si existe u otro bloque si no existe:

#!/bin/bash

if [ -e fichero.txt ]
then
    echo El fichero existe
else
    echo El fichero no existe
fi

Pero otras veces lo único que nos interesa es si no se cumple esa condición. Para eso tenemos el modificador !, que niega la condición, es decir, que devuelve verdadero sólo si la condición es falsa.Por ejemplo, siguiendo el ejemplo anterior, si queremos que se ejecute un bloque de código si no existe el fichero, pero si existe, que no realice ninguna acción, podemos negar la comparación añadiendo ! al comienzo de la comparación:

#!/bin/bash

if [ ! -e fichero.txt ]
then
    echo El fichero no existe
fi

Nótense los espacios entre el corchete y la exclamación y el final de la comparación y el cierre del corchete.

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.