Esta guía demuestra cómo usar el comando de prueba bash.
Comando de prueba
El comando de prueba toma un EXPRESIÓN como argumento. Después de calcular la expresión, la prueba devuelve un valor a la variable bash "$?". Si el valor es 0, entonces la evaluación de la expresión fue verdadera. Si el valor es 1, entonces la evaluación de la expresión fue falsa.
Hay dos sintaxis para usar el comando de prueba.
$ Test Expression
$ [Expresión]
Tenga en cuenta que en el caso de "[", hay un espacio en ambos extremos de la EXPRESIÓN.
Uso de la prueba
Aquí hay un breve ejemplo de cómo funciona el comando de prueba. Veremos si 1 es igual a 2. Si es verdadero, entonces la salida será "verdadera". De lo contrario, la salida será "falsa".
$ test 1 -eq 2 && echo "verdadero" || hacer eco "falso"
Vamos a desglosarlo.
Si la porción de prueba es verdadera, entonces el primer comando ECHO se ejecutará. De lo contrario, el segundo comando echo se ejecutará.
El mismo comando se puede expresar usando "[".
$ [1 -eq 2] && echo "verdadero" || hacer eco "falso"
Expresión
La expresión es lo que le da al comando de prueba su verdadero poder. La prueba puede usar cadenas, archivos e enteros para comparar. Aquí hay una lista rápida de todos los formatos de expresión de prueba disponibles.
Cadena
En la programación, una cadena es un conjunto de caracteres que generalmente se usan para representar el texto. Por ejemplo, "Hello World" en el siguiente comando Echo se trata como una cadena.
$ echo "Hola mundo."
El comando de prueba admite las siguientes expresiones de cadena.
Probemos estas expresiones.
$ [-n "Hello World"] && Echo "True" || hacer eco "falso"
$ [-z "Hello World"] && Echo "True" || hacer eco "falso"
$ ["Hola mundo" != "Hola mundo"] && echo "verdadero" || hacer eco "falso"
$ [“Hello World” = “Hello World”] && Echo “True” || hacer eco "falso"
Entero
El primer ejemplo de esta guía demuestra comparación entera. Hay más formas de comparar enteros.
Ponamos estas expresiones en acción.
$ [5 -eq 10] && echo "verdadero" || hacer eco "falso"
$ [5 -gt 2] && echo "verdadero" || hacer eco "falso"
$ [4 -le 5] && echo "verdadero" || hacer eco "falso"
Archivo
Los archivos también pueden ser parte de la expresión. Aquí está la lista de expresiones de archivos compatibles.
El resto de las expresiones de archivo admitidas están relacionadas con una propiedad única de un solo archivo.
Echemos un vistazo a algunos ejemplos.
$ [-x/usr/bin/bash] && echo $?
$ [-s /bin /bash] && echo $?
$ [-r /bin] && echo $?
$ [-e /hello_world] && echo "verdadero" || Echo "falso"
Implementación de la prueba en scripts bash
Hasta ahora, hemos demostrado cómo usar el comando de prueba para determinar si una determinada condición es verdadera o falsa. Podemos implementar esto en scripts bash para tomar decisiones útiles.
Eche un vistazo al siguiente script corto.
#!/bin/bash
if [$ (whoami) = root]; entonces
hacer eco "raíz"
demás
echo "no root"
FI
Aquí, la declaración IF verificará si la condición es verdadera o falsa. Usando el comando de prueba, podemos obtener fácilmente el valor booleano.
Ejecute el script con y sin privilegio raíz.
ps ./ficticio.mierda
$ sudo ./ficticio.mierda
Es una simple demostración de declaración if-else. No dude en consultar las declaraciones bash if-else para obtener más aplicaciones en profundidad.
Pensamientos finales
El comando de prueba es simple pero poderoso. Esta guía explica y demuestra varias formas de usar la prueba. La lista completa de todas las expresiones compatibles está disponible en la página del hombre.
Prueba de $ hombre
Computación feliz!