Índice

Comando test

El comando test permite efectuar una serie de pruebas sobre los archivos, las cadenas de caracteres, los valores aritméticos y el entorno de usuario.

Este comando tiene un código de retorno igual a cero cuando el test es positivo, y diferente de cero en caso contrario; esto permite utilizarlo en encadenamientos de comandos con ejecución condicional (&& y ||) o en las estructuras de control que veremos más adelante.

El comando test posee dos sintaxis: test expresión y [ expresión ], donde "expresión" representa el test que se debe efectuar.

La segunda sintaxis ofrece una lectura más fácil de las condiciones en las estructuras de control.

Los espacios detrás del corchete de apertura y antes del corchete de cierre son obligatorios en la sintaxis [ expresión ]. En general, todos los elementos de sintaxis del comando test deben ir separados por al menos un espacio.

El resto de la sección presenta los principales operadores que componen las expresiones de test del comando.

1. Test de archivos

-f archivo

Devuelve verdadero (código de retorno igual a cero) si el archivo es de tipo estándar (file):

[javier]$ test -f /etc/passwd 
[javier]$ echo $? 
0 
[javier]$ [ -f /etc ] || echo "/etc no es un archivo estándar" 
/etc no es un archivo estándar

-d archivo

Devuelve verdadero si el archivo es de tipo directorio (directory):

[javier]$ archivo=’/etc’ 
[javier]$ [ -d "$archivo" ...