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.