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
- test [expr]
- test {--help,--version}
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
- ↑ 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. (indefinido)
Enlaces
Comandos Unix |
---|
|
GNU Coreutils |
---|
Utilidades de archivo |
|
---|
Utilidades de texto |
|
---|
Utilidades de shell |
|
---|
|