Comando TEST
Como todos sabemos los comandos son importantísimos en el mundo Linux. En un ordenador de uso doméstico no suelen ser utilizados por los usuarios más noveles, ya que todos los programas que usamos tienen un interfaz gráfico también conocido como GUI (Graphical User Interface). Pero el verdadero poder de Linux está en la consola.
Tenemos innumerables comandos o miniprogramas para hacer tareas de todo tipo, algo como testear un fichero puede parecer algo absurdo comparado con el resto de una larga lista, pero realmente es un pilar sobre el que apoyarse para realizar scripts realmente complicados, hasta el punto de ser casi imprescindible.
Hay un dicho muy importante de los administradores de sistemas,
«no hagas una tarea mil veces, haz un script una vez que lo haga mil veces por ti»
Pero si queremos automatizar una tarea, como sabe una máquina si un fichero existe… o si está vacío, o incluso que pueda hacer comparaciones entre varios, aquí es donde entra el comando Test. Este comando ayuda en temas de servidores, quizás se lance un script que verifique cada intervalo de tiempo si está arrancado un demonio, y si no lo está lo inicia y nos manda un correo para notificarnos.
Como vemos es siempre algo condicional, de que si algo se cumple o no, el script hará una acción u otra. Con lo que irá muy ligado a la expresión
if test -d carpeta
then
cd carpeta
else
mkdir carpeta
cd carpeta
fi
Si la carpeta es un directorio iremos a “carpeta” de lo contrario la crearemos y posteriormente iremos a ella. La primera condición se cumplirá siempre que la salida de test devuelva un valor cierto ò cero, si la carpeta existe si devuelve un valor distinto de cero, será falso.
Este es otro ejemplo práctico: if [ -f archivo ]; then echo "Existe archivo"; \
else echo "No existe archivo"; fi[/box] Como se puede observar, en este ejemplo no hemos escrito «test» en programación bash el corchete abierto «[ «es equivalente a usar ese comando de forma interna en su programación para simplificar el lenguaje y no tener que llamar al programa que interpreta.
Estos son los usos que recibe este comando:
Opciones comando test para archivos:
-e arch
arch
existe
-s arch
arch
existe y tiene tamaño mayor que cero
-f arch
arch
existe y es un archivo regular
-d arch
arch
existe y es un directorio
-r arch
arch
existe y con derechos de lectura
-w arch
arch
existe y con derechos de escritura
-x arch
arch
existe y con derechos de ejecución
Opciones de comando test para cadenas de caracteres.
-z cadena
Tamaño de cadena
es cero
-n cadena
Tamaño de cadena
es mayor que cero
cadena
La cadena cadena
tiene tamaño mayor que cero
c1 = c2
Cadena c1
y c2
son idénticas
Opciones del comando test para números.
n1 -eq n2
n1
y n2
son iguales Igual
n1 -ne n2
n1
y n2
no son iguales no igual
n1 -gt n2
n1
es mayor que n2
mayor que
n1 -ge n2
n1
es mayor o igual a n2
mayor o igual
n1 -lt n2
n1
es menor que n2
menor que
n1 -le n2
n1
es menor o igual a n2
menor o igual que
Operadores.
Paréntesis ( )
Agrupar
Admiración !
Negar
-a
Y
lógico
-o
O
lógico
# Si necesitas un manual del LPIC no dudes en descargarlos de lpic-documentacion-oficial
Deja un comentario