Administración de Sistemas

Jueves, 24 Febrero 2022 11:25

Comprobar si un archivo o carpeta existe o no (y más) con ciclo IF

Escrito por 

Vamos a crear un archivo .sh y darle permisos de ejecución, para ello basta con poner el siguiente comando en una terminal:


touch prueba.sh && chmod +x prueba.sh

Esto lo que hizo es crear el archivo (touch prueba.sh) y además darle permisos de ejecución (chmod +x prueba.sh)

Luego escribamos lo siguiente en él:



if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi

¿Qué hace esto?

En la primera línea -» if [ -d /opt/ ];


Aquí preguntamos, ¿existe el directorio /opt/? Sí directorio/carpeta, pues el -d significa directorio o carpeta.
Luego en caso de que exista imprimiremos en la terminal «Sí, sí existe.» (esto es la línea 2 y 3)
En caso contrario y NO exista /opt/, entonces imprimiremos «No, no existe» (línea 4 y 5)
Luego en la última línea (la número 6) cerramos el if y listo.


Hagan la prueba, les mostrará que /opt/ sí existe.

Si desean que les muestre el otro texto (el de que no existe) cambien /opt/ por cualquier otra carpeta que no exista en su sistema, por ejemplo: /asd/

Como ven, -d nos sirve para saber si el directorio existe, bien ahora si cambiamos -d por -f es para comprobar existencia de archivos (-d = directorio, -f = file/archivo)

Por ejemplo:

if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi

Aquí el listado de las opciones:

-d -» Comprobar si existe determinado directorio

-f -» Comprobar si existe determinado archivo

-w -» Comprobar si determinado archivo tiene permisos de escritura

-x -» Comprobar si determinado archivo tiene permisos de ejecución.

Fuente: https://blog.desdelinux.net/

Leer 5247 times

Sobre CNERIS

CNERIS es una empresa constituida por jóvenes emprendedores procedentes de diferentes sectores del mundo de la información. Nuestro equipo está compuesto por programadores, administradores de sistemas, administradores de base de datos, diseñadores gráficos, maquetadores,