Test es un comando integrado del shell Bash que prueba los atributos de los archivos (tipo y permisos) y realiza comparaciones aritméticas y de cadenas.
Se usa con frecuencia como parte de una expresión condicional. No proporciona ningun resultado, por lo que puede verse su estado de salida con la variable "$?" y el comando echo. Devuelve 0 como un estado de salida exitoso si el comando o la expresión es "verdadero" y devuelve 1 si el comando o la expresión es "falso". Cualquier valor superior a 1 indica un error o un comando mal formado.
Sintaxis:
test [expresión]
Ejemplo:
test "$variable1" operador "$variable2"
- Aquí, expresión puede ser cualquier comando o expresión que pueda ser evaluada por el shell. Y se recomienda encerrar siempre las variables de prueba entre comillas dobles.
- Todos los argumentos a probar deben estar separados por un espacio, incluidos todos los operadores .
- Los operadores < y > son comparaciones lexicográficas, basadas en numeración ASCII. No son operadores numéricos ( utilice -lt , -gt , etc. para comparar números).
Flags para archivos y directorios
test -e filename: Comprueba si el archivo existe o no. Y devuelve 0 si el archivo existe y devuelve 1 si el archivo no existe.
test -d filename: Comprueba si el archivo es un directorio o no. Y devuelve 0 si el archivo es un directorio y devuelve 1 si el archivo no es un directorio.
https://man7.org/linux/man-pages/man1/test.1.html
https://man7.org/linux/man-pages/man1/test.1p.html
# check if the script is run as root or not | |
if test "$(id -u)" == "0" | |
then | |
echo "This script is running as root" | |
else | |
echo "This script is not running as root"1>&2 | |
exit 1 | |
fi |
No hay comentarios.:
Publicar un comentario