next up previous contents
Next: Comandos básicos de Unix/Linux Up: Comandos de la Shell Previous: Comandos simples

Listas de comandos

Una lista de comandos es una secuencia de comandos simples o tuberías separados por uno de los operadores `;', `&', `&&', or `||', y terminada por `;', `&', o retorno de carro.

Si un comando se termina con el operador de control `&', la shell ejecuta el comando de forma asíncrona en una subshell. Esto se conoce como ejecutar el comando en segundo plano (background). En este caso, la shell no espera a que el comando termine e inmediatamente aparece otra vez el indicador de inicio (prompt), mientras el comando se ejecuta por detrás de ella.

Los comandos separados por `;' se ejecutan secuencialmente, uno detrás de otro.

$ comando1; comando 2

La shell espera a que terminen los comandos en su turno correspondiente. Por ejemplo:

$ cd /home/Thales; ls

primero se posiciona en el subdirectorio /home/Thales y después lista los ficheros de ese directorio.

Los operadores de control permiten ejecuciones condicionales.

El efecto de

comando1 && comando2

es que comando2 se ejecutará si y sólo si comando1 termina de forma satisfactoria (devuelve un código de cero).

En cambio, en la lista

comando1 || comando2

el comando2 se ejecutará si y sólo si comando1 falla (devuelve un código distinto de cero).

229 Para practicar: comando tee
 

Podemos conseguir guardar la salida de un comando en un fichero y dirigirla también a la salida estándar usando el comando tee. El nombre del comando viene de que se comporta como una T de fontanería. El caudal que llega por una rama, pasa por la T y sale por los otros dos orificios.

Por ejemplo, supongamos que deseamos ver los usuarios de nuestra máquina y guardarlos en un fichero ordenados, escribiremos:

$ cut -f1 -d: /etc/passwd | sort | tee usuarios.txt

Expliquemos un poco el comando:


next up previous contents
Next: Comandos básicos de Unix/Linux Up: Comandos de la Shell Previous: Comandos simples

2004-04-21