Cómo comprobar si existe un archivo o directorio en Bash

Cuando trabaje con Bash y scripts de shell, es posible que deba comprobar si un directorio o un archivo existe o no en su sistema de archivos.

Según esta condición, puede salir del script o mostrar un mensaje de advertencia para el usuario final, por ejemplo.

existe un archivo o directorio con Bash, utilizará «Bash tests».

En este tutorial, aprenderá a comprobar si existe un archivo o directorio en un script Bash.

Tabla de contenido

Verificar si el archivo existe

Para verificar si existe un archivo en Bash , debe usar la opción «-f» (para el archivo) y especificar el archivo que desea verificar.

Por ejemplo, digamos que desea comprobar si el archivo «/ etc / passwd» existe en su sistema de archivos o no.

En un script, escribiría lo siguiente si declaración.

Verificar la existencia del archivo usando formularios más cortos

En algunos casos, puede estar interesado en verificar si un archivo existe o no directamente en su shell Bash.

Para verificar si un archivo existe en Bash usando formas más cortas, especifique la opción «-f» entre corchetes y agregue el comando que desea ejecutar si tiene éxito.

Usando el ejemplo usado anteriormente, si desea verificar si el archivo «/ etc / passwd» existe usando formas más cortas, escriba el siguiente comando

Entonces, ¿cómo funciona este comando?

Los formularios más cortos están estrechamente relacionados con los estados de salida.

Cuando ejecuta un comando en Bash, siempre sale con un estado de error: 0 para errores y números mayores que 0 para errores (1, 2 .. 6 y así sucesivamente)

En este caso, la sintaxis «& &” comprobará si el estado de salida del comando de la izquierda es igual a cero: si este es el caso, ejecutará el comando de la derecha, de lo contrario no lo ejecutará.

Protip: puedes utilice «echo $ {?}» para ver el estado de salida del último comando ejecutado

Comprobando varios archivos

En En algunos casos, es posible que desee comprobar si existen varios archivos en su sistema de archivos o no.

Para comprobar si existen varios archivos en Bash, utilice la marca «-f» y especifique los archivos que se van a comprobar separados por el operador «& &”.

Compruebe si el archivo no existe

Por otro lado, es posible que desee comprobar si un archivo no existe en su sistema de archivos.

Para comprobar si un archivo no existe usando Bash, tienes que usar el «!» símbolo seguido de la opción «-f» y el archivo que desea verificar.

De manera similar, puede usar formularios más cortos si desea verificar rápidamente si un archivo no existe directamente en su terminal.

Tenga en cuenta que también es posible comprobar si un archivo no existe utilizando «||» operador.

El «||» El operador ejecutará el comando de la derecha si y solo si el comando de la izquierda falla (es decir, sale con un estado mayor que cero).

Para probar si un archivo no existe usando «||» operador, simplemente verifique si existe usando el indicador «-f» y especifique el comando que se ejecutará si falla.

Verifique si el directorio existe

Para verificar si existe un directorio en Bash, debe usar la opción «-d» y especificar el nombre del directorio a verificar.

Como ejemplo, digamos que desea verificar con Bash si el directorio / etc existe en su sistema.

Para verificar su existencia, debe escribir el siguiente script de Bash

Al ejecutar este script, obtendría el siguiente resultado

Verifique la existencia del directorio usando formas más cortas

En algunos casos, puede que le interese comprobar si existe un directorio o no directamente en su shell Bash.

Para comprobar si existe un directorio en Bash utilizando formularios, especifique la opción «-d» entre corchetes y agregue el comando que desea ejecutar si tiene éxito.

Supongamos que, por ejemplo, quiere comprobar si el directorio» / etc «existe.

Con la sintaxis más corta, escribiría el siguiente comando.

Creación de un script Bash completo

Si se encuentra comprobando varias veces al día si un archivo (o varios) existe o no en su sistema de archivos, podría ser Es útil tener un script que pueda automatizar esta tarea.

En esta sección, creará un script Bash que puede tomar varios nombres de archivo y devolverlos si existen o no.

Si no lo hacen, se mostrará un mensaje de notificación simple en la salida estándar.

Cree un nuevo script Bash y hágalo ejecutable usando chmod.

Aquí está el contenido del script que se utilizará para verificar dinámicamente si existen archivos.

Guarde su script y agregue la carpeta «bin» que acaba de crear a su variable de entorno PATH.

Ahora que se puede acceder a su script en cualquier lugar del sistema, puede llamar a su script y comenzar a verificar ver si los archivos existen o no.

¡Impresionante!

Creó una costumbre para verificar si los archivos existen en su sistema de archivos o no.

Conclusión

En este tutorial, aprendió cómo verificar si un archivo existe o no usando pruebas Bash y sintaxis corta Bash.

De manera similar, aprendió cómo es posible verificar si existe un directorio.

Finalmente, ha escrito un script Bash completo que acepta argumentos dinámicos para verificar si existen múltiples archivos o no.

Si si está interesado en la programación Bash o en la administración del sistema Linux, tenemos una sección completa dedicada a ello en el sitio web, ¡así que asegúrese de revisarla!

bash

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *