Prueba

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 24 de marzo de 2017; las comprobaciones requieren 19 ediciones .

test  es una utilidad de UNIX para verificar tipos de archivos y comparar valores. Devuelve un código de retorno de 0 (verdadero) o 1 (falso) según la evaluación de la expresión expr. Las expresiones pueden ser unarias o binarias. Las expresiones unarias se utilizan a menudo para comprobar el estado de un archivo. También puede comparar números y cadenas.

Comenzando con UNIX System III , la utilidad se incorporó y su segunda forma, [. [una]

Uso

Por lo general, se usa en scripts de shell simples para varios tipos de comprobaciones. El siguiente ejemplo eliminará el archivo normal test.txt si existe, o mostrará un mensaje de que el archivo no existe.

#!/bin/sh si prueba -f prueba.txt entonces prueba rm.txt else echo 'archivo prueba.txt no encontrado' fi

Para acortar el código del script, use el operador de par '[' como sinónimo de prueba. El operador par requiere un espacio entre paréntesis porque [ (paréntesis) es un comando de shell y los shells compatibles con POSIX requieren un espacio entre el comando y sus argumentos.

#!/bin/sh si [ -f prueba.txt ] entonces prueba rm.txt else echo 'archivo prueba.txt no encontrado' fi

Opciones de lanzamiento

  • -b file verdadero si el archivo existe y es un dispositivo de bloque especial.
  • -c file true si el archivo existe y es un dispositivo de caracteres.
  • -d file verdadero si el archivo existe y es un directorio.
  • -e file es verdadero si el archivo existe.
  • -f file true si el archivo existe y es un archivo normal.
  • -g file verdadero si el archivo existe y tiene un id de grupo (set-group-id) establecido.
  • -k file true si el archivo tiene establecido el sticky bit.
  • -L file verdadero si el archivo existe y es un enlace simbólico.
  • -p file verdadero si el archivo existe y es una tubería con nombre (tubería).
  • -r file verdadero si el archivo existe y es legible.
  • -s file verdadero si el archivo existe y tiene un tamaño mayor que cero.
  • -S file true si el archivo existe y es un socket.
  • -t [fd] verdadero si fd está abierto en la terminal. Si se omite fd, el valor predeterminado es 1 (stdout).
  • -u file true si el archivo existe y tiene establecido el bit de usuario (set-user-id).
  • -w file true si el archivo existe y se puede escribir.
  • -x file verdadero si el archivo existe y es ejecutable.
  • -O file true si el archivo existe y su propietario tiene un ID de usuario efectivo.
  • -G file true si el archivo existe y su propietario tiene un ID de grupo efectivo.
  • file1 -nt file2 verdadero si el archivo1 es más reciente (fecha de modificación) que el archivo2.
  • file1 -ot file2 verdadero si el archivo1 es más antiguo que el archivo2.
  • file1 -ef file2 verdadero si el archivo 1 y el archivo 2 tienen el mismo dispositivo y número de inodo.
  • -z string— verdadero si la longitud de la cadena es cero.
  • -n string es verdadero si la longitud de la cadena no es cero.
  • string1 = string2 verdadero si las cadenas son iguales.
  • string1 != string2 true si las cadenas no son iguales.
  • ! expr es verdadero si expr es falso.
  • expr1 -a expr2 es verdadero si tanto expr1 como expr2 son verdaderos.
  • expr1 -o expr2 es verdadero si al menos una de las expresiones expr1 o expr2 es verdadera.
  • arg1 %оператор% arg2 -eq, -ne, -lt, -le, -gt, или -ge - estas operaciones aritméticas binarias devuelven verdadero si arg1 es igual a (-eq), distinto de (-ne), menor que (-lt), menor o igual que (-le), mayor que (-gt), o mayor o igual a (-ge) que arg2, respectivamente. arg1 y arg2 pueden ser enteros positivos, enteros negativos o las expresiones especiales de cadena -l que calculan la longitud de una cadena.

Notas

  1. familia tradicional de conchas Bourne / historia y desarrollo . www.in-ulm.de. Consultado el 15 de julio de 2017. Archivado desde el original el 14 de abril de 2020.

Enlaces