Bash IF -e and -s y otros operadores de prueba de archivos

Bash IF -e and -s y otros operadores de prueba de archivos
En los archivos de Linux, los operadores de prueba se utilizan para verificar los atributos asociados con un archivo como: el autor del archivo, los derechos administrativos y la propiedad del archivo, y para verificar si son un enlace simbólico o no. Cuando estamos tratando con archivos, es necesario verificar su existencia y si contienen algún contenido o no para este propósito; o si se usa una declaración junto con los operadores de prueba.

Los operadores de prueba de archivos en Bash también se utilizan para probar los archivos como explica el nombre. Con la ayuda de estos operadores, podemos probar diferentes aspectos de un archivo, como si ese archivo es solo por escrito o legible. Hay muchos operadores de prueba de archivos y cada uno tiene un rol y uso diferentes. Los operadores de prueba de archivos nos ayudan a prevenir errores mientras se escriben en BASH. Para realizar esa tarea, utilizamos una declaración if-else. La declaración if-else actúa como una herramienta muy útil para el manejo de errores en las secuencias de comandos de bash.

El propósito del operador "-e" es decirnos si existe un archivo en el directorio especificado o no. El operador "-s" nos dice que el archivo no es un tamaño cero, lo que significa que este operador nos dice si el archivo en el directorio especificado contiene cualquier dato o no. Otros operadores están acostumbrados a tratar con archivos, pero los "-e" y "-s" son los más importantes y se usan con frecuencia.

Cómo usar operadores de prueba:

En esta ilustración, intentaremos usar todos los operadores de prueba para realizar varias tareas en los archivos.

Ejemplo no. 1: Uso del operador de texto if -e

En este ejemplo, intentaremos usar el operador de prueba if -e que se usa principalmente para verificar si el archivo existe en un directorio o no. Ahora, primero crearemos un nuevo archivo.

linux@linux-virtualbox: ~ $ nano testoperator.mierda

Cuando ejecutemos el comando anterior, abrirá el archivo vacío ahora escribiremos el código en el que crearemos una condición de que el archivo "empleado.txt "existe, mostrará el comando echo que contiene el mensaje" El archivo existe ". Más, ejecutará el mensaje "El archivo no existe". El archivo testoperator contendrá el contenido mencionado a continuación.

#!/bin/sh
Archivo = "Empleado.TXT"
if [-e $ archivo]
entonces
Echo "El archivo existe"
demás
echo "El archivo no existe"
FI

Después de guardar el archivo usando el comando bash, ejecutaremos el comando a continuación que ejecutará el testoperator.Archivo SH.

linux@linux-virtualbox: ~ $ bash testoperator.mierda

Cuando ejecutamos el comando anterior, leerá el código del archivo testoperator que se ejecuta y verifica el archivo en el directorio de inicio. En este caso, no tenemos ningún archivo en el directorio, por lo que ejecutó la salida a continuación.

Producción:

El archivo no existe

Ahora, primero crearemos un nuevo archivo llamado "Empleado.TXT". Luego, nuevamente ejecute el comando para verificar si detectará el archivo o no. Como se muestra a continuación, esta vez el archivo existe en el directorio de inicio.

Ahora, volvamos a ejecutar el comando anterior. Esta vez, muestra la salida que se muestra a continuación en la que existe el mensaje "archivo".

Producción:

El archivo existe

Ejemplo no. 2: Usando el operador de texto if -d

En este ejemplo, intentaremos otro operador de prueba que sea el operador "-d" que se utiliza para verificar si el archivo que estamos verificando es un directorio o no. Esta vez, crearemos un nuevo directorio que llamamos "empleado", como se puede ver en el fragmento a continuación.

Ahora, modificaremos el "testoperator.archivo sh "en el que cambiaremos el nombre del archivo" empleado.txt "solo para" empleado ". Luego, pasando el operador "-d" en la instrucción IF junto con el "archivo $" que se obtendrá. Y cambiando el mensaje, que se mostrará como salida, guardaremos el archivo. Ahora, el "testoperator.El archivo SH "contiene el siguiente contenido.

#!/bin/sh
archivo = "empleado"
if [-d $ archivo]
entonces
Echo "El empleado es un directorio"
demás
Echo "El empleado no es un directorio"
FI

Después de modificar el "testoperator.sh ”, ejecutaremos el comando bash junto con el nombre del archivo:

linux@linux-virtualbox: ~ $ bash testoperator.mierda

Cuando el comando anterior se ejecuta, mostrará la salida que se muestra a continuación en la que imprime el mensaje que es:

Producción:

El empleado es un directorio

Ejemplo no. 3: Uso del operador de texto IF -s

En este ejemplo, intentaremos usar el operador "-s" que se utiliza para verificar si el archivo contiene algún contenido o no. Para eso, utilizaremos el archivo ya creado que usamos en el Ejemplo 1 llamado "Empleado.TXT". Primero modifiquemos el archivo testoperator.SH en el que pasaremos la opción "-s" junto con el nombre del archivo a nuestra declaración IF y asignaremos el archivo "Empleado.TXT". Además, cambiará el mensaje que se mostrará como una salida.

#!/bin/sh
Archivo = "Empleado.TXT"
if [-d $ archivo]
entonces
Echo "Empleado.txt está vacío "
demás
Echo "Empleado.txt no está vacío "
FI

Ahora, guardaremos y cerraremos el archivo "testoperator.sh ”y ejecute el comando mencionado a continuación en la terminal.

linux@linux-virtualbox: ~ $ bash testoperator.mierda

Cuando se ejecuta el comando anterior, ejecutará la instrucción de la otra porque el empleado.txt contiene el contenido. Entonces, ignora el comando de eco de la declaración entonces.

Producción:

empleado.txt no está vacío

Ahora, eliminaremos el contenido del "empleado.txt ”y luego ejecute el comando nuevamente. Cuando el comando anterior se ejecuta una vez más, muestra el mensaje de declaraciones entonces porque no contiene ningún contenido en él. El siguiente ejemplo es la salida del comando que ejecutamos después de eliminar el contenido del archivo.

Producción:

empleado.txt esta vacío

Ejemplo no. 4: Uso del operador de texto IF -R

En este ejemplo, implementaremos otro operador de prueba que sea "-r". Este operador se usa para verificar si el archivo es legible para el usuario o no. Para esto, modificaremos el testoperator.archivo txt reemplazando el operador "-d" con "-r". También cambiará el mensaje de salida que es si el archivo es legible. Mostrará el mensaje "Empleado.TXT es legible y si el archivo no es legible, mostrará la instrucción de lo contrario. Ahora, el "testoperator.txt "contiene el siguiente contenido:

#!/bin/sh
archivo = "empleado.TXT"
Si [-r $ archivo]
entonces
Echo "Empleado.txt es legible "
demás
Echo "Empleado.txt es legible "
FI

Ahora, ejecutaremos el comando a continuación para ejecutar el código escrito dentro de él.

linux@linux-virtualbox: ~ $ bash testoperator.mierda

Después de ejecutar el comando anterior, la salida que se muestra a continuación se imprimirá en el terminal.

Producción:

empleado.txt es legible

Conclusión

Hemos discutido la parte más importante del sistema de archivo, los operadores de prueba. Mientras trabajan con archivos, los operadores de prueba son la utilidad más esencial proporcionada por los paquetes de Linux. Después de introducir el propósito de los operadores de prueba, los explicamos implementando estos operadores en varios ejemplos.