Programación BASH

Cómo comprobar si existe un archivo en bash

Cómo comprobar si existe un archivo en bash
Hay varias formas de verificar la disponibilidad de un archivo en Linux. El comando "prueba" en el script bash es uno de los enfoques clave para verificar la existencia de un archivo.
El enfoque de esta guía es discutir la existencia de un archivo en su sistema a través de scripts bash:

Cómo verificar la existencia del archivo usando scripts bash:

1) Ingresando el nombre del archivo en la terminal:

En primer lugar, necesitamos crear un archivo de script bash, use el comando que se menciona a continuación:

$ touch archivo de prueba.sh

El nombre del archivo que creé es "testfile.sh ”, el“.sh ”indica el archivo de script de shell:

Abra el "archivo de prueba.sh "en cualquier editor de texto. Luego escriba el script, guárdelo presionando "guardar".

Una forma es buscar un archivo solicitando un nombre de archivo al usuario en la terminal.

Usar "-F"Para comprobar la existencia del archivo.

Escribe el siguiente guión:

#!/ bin / bash
echo "Ingrese su nombre de archivo"
leer newfile1
si [-f "$ newfile1"]
luego
echo "Archivo encontrado"
demás
echo "El archivo no se encuentra"
fi

Regrese a la terminal y ejecute el archivo para imprimir la salida:

./Nombre del archivo.sh

El mensaje de permiso denegado se mostraría en la terminal.

Hágalo ejecutable ejecutando el comando mencionado a continuación:

$ chmod + x archivo de prueba.sh

Ingrese el nombre del archivo e imprimirá la salida:

2) Ingresando el nombre del archivo mientras escribe el script:
Otra forma de encontrar un archivo dando el nombre del archivo mientras escribe el script. Tenemos tres formas de comprobar la disponibilidad del archivo. El primero está usando el comando "prueba", el segundo está usando "si" con una expresión entre corchetes, y el tercero también está usando "si" pero con corchetes dobles como se indica a continuación:

  1. "Prueba EXPRESIÓN."
  2. "Si [EXPRESIÓN]"
  3. "Si [[EXPRESIÓN]]"

Entendamos con ejemplos:

1) prueba [Expresión]
Copie el script dado y péguelo en el editor, guárdelo:

#!/ bin / bash
nombre de archivo = archivo1
si prueba -f "$ nombre de archivo";
luego
echo "$ archivo ha encontrado."
demás
echo "$ archivo no se ha encontrado"
fi

Producción:

Como no existe ese archivo en mi directorio, el código muestra el mensaje "El archivo no se encuentra".

2) si [Expresión]

Copie el siguiente script para verificar si el archivo existe o no:

#!/ bin / bash
nombre de archivo = myfile.TXT
if [-f "$ nombre de archivo"];
luego
echo "$ nombre de archivo ha encontrado."
demás
echo "no se ha encontrado el nombre del archivo"
fi

Producción:

3) si [[Expresión]]

Copie el script escrito a continuación y péguelo en la terminal:

#!/ bin / bash
nombre de archivo = archivo de prueba
if [[-f "$ nombre de archivo"]];
luego
echo "$ nombre de archivo ha encontrado."
demás
echo "$ nombre de archivo no se ha encontrado"
fi

Producción:

Para comprobar el directorio:

3) Ingresando el nombre del directorio mientras escribe un script

Utilizar el "-D"Marca para comprobar la existencia de un directorio.

En la secuencia de comandos que se menciona a continuación, "dir11" es la variable en la que almacena el archivo que está encontrando; en este ejemplo, quiero comprobar que el nombre del directorio "testDir" existe o no.

#!/ bin / bash
dir11 = testDir
si [-d "$ dir11"]
luego
echo "Directorio encontrado"
demás
echo "No se ha encontrado el directorio"
fi

Producción:

2) Ingresando el nombre del archivo en la terminal:
Cuando ejecuta el comando en la terminal para verificar si el directorio existe o no, debe ingresar el nombre del directorio que está buscando:

#!/ bin / bash
echo "escribe el nombre de tu directorio."
leer Dir1
si [-d "Dir1"]
luego
echo "se ha encontrado el directorio"
demás
echo "directorio no encontrado"
fi

Producción:

Verificando el archivo sin usar la declaración "si":

El comando "test" se puede ejecutar sin la instrucción "if". Solo mostrará la salida si el archivo existe; de lo contrario, no habría salida:

Escribir guión:

  1. prueba -f myfile.txt && echo "se ha encontrado el archivo"

  2. [-f miarchivo.txt] && echo "Se ha encontrado el archivo $."

  3. [[-f miarchivo.txt]] && echo "Se ha encontrado el archivo $."

Producción:

Verificando el directorio sin usar la declaración "if":

Utilice las declaraciones que se mencionan a continuación para comprobar que un directorio existe o no:

  1. [[-d testDir]] && echo "el directorio existe"

  2. 2) [-d testDir] && echo "el directorio existe"

Producción:

Comprobación de varios archivos / directorios:

1) Comprobación de varios archivos con declaraciones "si":
Use la marca "-a" para verificar la existencia de varios archivos en lugar de usar declaraciones "if / else" anidadas:

#!/ bin / bash
if [-f archivo_nuevo.txt -a -f archivo nuevo.TXT ]; luego
echo "Ambos archivos existen."
fi

Otra forma es:

#!/ bin / bash
si [[-f archivo_nuevo.txt && -f archivo nuevo.TXT ]]; luego
echo "Ambos archivos existen."
fi

Producción:

2) Comprobación de varios archivos sin utilizar la declaración "si":
Utilice la siguiente declaración para verificar varios archivos simultáneamente 1 sin usar "si":

  1. [[-f archivo_nuevo.txt && -f archivo nuevo.txt]] && echo “Ambos archivos salen."

  2. [[-f archivo_nuevo.txt && -f archivo nuevo.txt]] && echo “Ambos archivos salen."

Producción:

Conclusión:

Este artículo ha mostrado cómo usar scripts bash para verificar un archivo o directorio. Usamos diferentes opciones para verificar la disponibilidad de un archivo. En primer lugar, usamos el comando "prueba" con diferentes banderas. Luego aprendimos el uso de "if", anidado "if-else" y sin las declaraciones "if" para verificar el archivo o directorio. También analizamos cómo comprobar varios archivos o directorios.

Las 5 mejores cartas de captura de juegos
Todos hemos visto y amado la transmisión de juegos en YouTube. PewDiePie, Jakesepticye y Markiplier son solo algunos de los mejores jugadores que han ...
Cómo desarrollar un juego en Linux
Hace una década, no muchos usuarios de Linux predecían que su sistema operativo favorito algún día sería una plataforma de juegos popular para videoju...
Puertos de código abierto de motores de juegos comerciales
Las recreaciones gratuitas, de código abierto y de motores de juegos multiplataforma se pueden usar para jugar títulos de juegos antiguos y también al...