Unix: Operadores de control

Es extremadamente útil (y casi necesario) conocer los operadores de control de consola Unix, que te permitiran combinar comandos, a continuación os muestro el modo de usar estos operadores de control:

Ejecutar un comando si el anterior devuelve el estado «zero exit»:

Para ello utilizaremos el operador de control && El segundo comando solamente se ejecutará si el anterior devuelve estado «zero exit», o lo que es lo mismo, se ejecuta correctamente, ejemplo:

cd tmp/a/b/c && tar xvf ~/archivo.tar

En este ejemplo, se descomprimira archivo.tar en la ruta a la que accedemos, pero solo si esta existe, o lo que es lo mismo, si «cd tmp/a/b/c» se ejecuta correctamente.

Ejecutar un comando si el anterior devuelve el estado » non-zero exit»:

Ahora vamos a hacer justo lo contario, solo ejecutaremos el segundo comando si el primero falla. Para ello concatenaremos los comandos con el operador de control ||, ejemplo:

cd tmp/a/b/c || mkdir -p tmp/a/b/c

En este ejemplo, crearemos el árbol de directorios tmp/a/b/c solamente si el comando anterior falla, es decir, si no existe.

Los dos operadores de control pueden combinarse si se desea, para crear comandos un poquito más complejos, ejemplo:

cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar

Artículo basado en Unix Tips de IBM.