Índice

Los operadores del shell

Estos operadores permiten ejecutar o no un comando en función del código de retorno de otro comando. La evaluación se realiza de izquierda a derecha.

Operador

Significado

&&

Y lógico

||

O lógico

1. Evaluación del operador &&

Sintaxis

comando1 && comando2
  • El segundo comando se ejecuta únicamente si el primer comando devuelve el código verdadero.

  • La expresión global es verdadera si los dos comandos devuelven verdadero.

Ejemplos

El directorio /tmp/svg no existe; por lo tanto, el comando cd no se ejecuta:

$ ls -d /tmp/svg 
/tmp/svg: No such file or directory 
$ pwd 
/export/home/cristina 
$ [[ -d /tmp/svg ]] && cd /tmp/svg 
  
$ echo $?        # Código del comando [[ ]]  
1 
$ pwd  
/export/home/cristina

El directorio /tmp/svg existe; por lo tanto, el comando cd se ejecuta:

$ mkdir /tmp/svg  
$ [[ -d /tmp/svg ]] && cd /tmp/svg  
$ pwd  
/tmp/svg 
$

Estas acciones también pueden implementarse con la estructura de control if.

$ pwd  
/export/home/cristina 
$ ls -d /tmp/svg  
/tmp/svg 
$ if [[ -d /tmp/svg ]]  
> then    # Prompt PS2 del shell  
> cd /tmp/svg  
> fi      # Cierre del if: ejecución del comando  
$ pwd 
/tmp/svg 
$

2. Evaluación del operador ||

Sintaxis

comando1 || comando2
  • El segundo comando se ejecuta únicamente si el primer comando devuelve ...