Comprobar tipos de archivos y comparar valores, devolviendo 1 si es cierto y o si es falsa.
Sobre ficheros:
$ test -e archivo; echo $? (Devuelve 0 si archivo exist)
$ test -f archivo; echo $? (Devuelve 0 si archivo existe y es un archivo regular)
$ test -d archivo; echo $? (Devuelve 0 si existe y es un directorio)
$ test -s archivo; echo $? (Devuelve 0 si archivo existe y tiene un tamaño mayor que 0)
$ test archivo -nt archivo2; echo $? (Devuelve 0 si archivo se ha modificado con posterioridad a archivo2)
$ test archivo -ot archivo2; echo $? (Devuelve 0 si archivo se ha modificado con anterioridad a archivo2)
Sobre caracteres numéricos:
$ test $int1 -eq $int2; echo $? (Devuelve 0 si los enteros son iguales)
$ test $int1 -ne $int2; echo $? (Devuelve 0 si los enteros NO son iguales)
$ test $int1 -lt $int2; echo $? (Devuelve 0 si int1 es menor que int2)
$ test $int1 -le $int2; echo $? (Devuelve 0 si int1 es menor o igual que int2)
$ test $int1 -gt $int2; echo $? (Devuelve 0 si int1 es mayor estricto que int2)
$ test $int1 -ge $int2; echo $? (Devuelve 0 si int1 es mayor o igual que int2)
Sobre strings:
$ DIR=home; test $string; echo $? (Devuelve 0 si la cadena no es nula)
$ test -z $DIR; echo $? (Devuelve 0 si la longitud del string es 0)
$ test -n $DIR; echo $? (Devuelve 0 si la longitud del string NO es 0)