A veces, mientras trabaja en la línea de comandos de Linux, es posible que desee probar ciertas cosas, como valores enteros, o si un archivo es de cierto tipo o no. Te alegrará saber que hay una utilidad de línea de comandos integrada prueba que le permite hacer la mayoría de estas comparaciones y pruebas.
En este tutorial, discutiremos los conceptos básicos de esta herramienta utilizando algunos ejemplos fáciles de entender. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos del artículo se probaron en Ubuntu 16.04 LTS.
Comando de prueba de Linux
Como ya se mencionó anteriormente, el comando de prueba se utiliza para realizar comprobaciones y comparaciones. Esta es su sintaxis:
test EXPRESSION
Y esto es lo que dice la página del manual sobre esta utilidad:
test - check file types and compare values
Los siguientes son algunos ejemplos de preguntas y respuestas que le darán una buena idea de cómo funciona la herramienta.
Nota :Tenga en cuenta que algunas de las opciones de la línea de comandos que proporciona la prueba son más útiles cuando se usan dentro de scripts de shell.
P1. ¿Cómo comparar dos cadenas?
Simple, solo necesita usar el signo igual a (=) entre ellos. Por ejemplo:
test howto = forge
Una mejor manera sería escribir algo como esto:
test howto = forge && echo "same"
Entonces, si las cadenas son iguales, la palabra "igual" debe imprimirse en la salida, de lo contrario, no debe imprimirse nada.
Del mismo modo, puede usar la siguiente plantilla si desea probar la desigualdad.
STRING1 != STRING2
P2. ¿Cómo comparar enteros usando test?
Esto también es muy sencillo:solo compárelos usando '-eq'. Por ejemplo:
test 5 -eq 7 && echo "same"
Aquí hay una captura de pantalla que muestra cómo funciona esta opción de línea de comandos:
Del mismo modo, puede usar '-ge ' para probar mayor o igual que, '-gt ' para mayor que, '-le ' para menor o igual que, '-lt ' para menos de y '-ne ' para no igual.
P3. ¿Cómo probar/comparar archivos usando test?
Para probar cuál de los dos archivos es más nuevo, use '-nt'. Por ejemplo:
test file1 -nt file2
Así es como lo probé en mi sistema:
Otras comparaciones de archivos que puede realizar incluyen cuál de los dos archivos es más antiguo (-ot) y si dos archivos tienen el mismo número de dispositivo e inodo (-ef).
Para verificar si un archivo dado es un directorio, use la opción -d de la siguiente manera:
prueba -d [nombre de archivo]
Por ejemplo:
prueba -d nuevo_dir
Las siguientes son algunas otras opciones de prueba de tipo de archivo que ofrece el comando 'test':
P4. ¿Cómo maneja el comando de prueba los enlaces simbólicos?
El comando de prueba elimina las referencias a los enlaces simbólicos, aunque hay un par de excepciones. Lo siguiente es lo que dice la página de manual sobre esto:
Except for -h and -L, all FILE-related tests dereference symboliclinks.
En caso de que no lo sepa, tanto -h como -L verifican si existe un archivo y es un enlace simbólico, por lo que su exclusión tiene sentido, ¿verdad?
Conclusión
El comando de prueba ofrece muchas opciones, pero en términos generales, puede agruparlas en 3-4 categorías. Hemos proporcionado ejemplos en cada categoría. Pruébelos y, cuando haya terminado, diríjase a la página del manual de la utilidad para obtener más información.