¡Hola! Bienvenido a Desde Linux. ¿Acaso estás harto de los pantallazos azules y los virus? Entonces, no dudes en migrar a Linux. Si recién empiezas, te recomendamos pasar por nuestra sección para Novatos. En caso de que estés buscando una Distribución Linux, tenemos guías para ayudarte a elegir la mejor. También contamos con un listado de Programas para reemplazar a los que usabas en Windows. No olvides utilizar la barra aquí debajo para obtener ayuda adicional.

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

Hace rato no pongo nada de Bash, y es que al estar adentrándome en el maravilloso mundo de Python he olvidado un poco a este otro amigo que tanto me ayudó :)

Aquí les pongo algo a los entusiastas de Bash, como bien dice el título… les mostraré cómo comprobar si existe o no un archivo o carpeta en el sistema, solo usando: if

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?

Simple :D

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.

Y bueno no hay mucho más que agregar :)

Sé que esto le será muy útil e interesante para aquellos que gustan de programar en Bash ;)

Saludos


KZKG^Gaara

KZKG^Gaara: Usuario de GNU/Linux y administrador de red desde hace algunos años. Intento mantenerme en el lado oscuro de la fuerza, pues es donde está lo divertido de la vida. Administrador y Fundador de todo esto que ven, pero uno más dentro de la familia.


No olvides dejar tu comentario

Tu dirección de correo electrónico no será publicada.

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current day month ye@r *

  1. usuario
    • autor
      • usuario
  2. lector
  3. redactor
  4. lector
  5. lector
    • redactor
      • redactor
        • lector
        • Joaquin lector
        • lector
          • redactor
        • lector
  6. msx redactor
    • autor
  7. lector
  8. lector
  9. lector
  10. zulan usuario
  11. lector
  12. lector
  13. lector
  14. lector
    • Katekyo usuario

DesdeLinux y DesdeFirefoxOS se encuentran felizmente hosteados en GNUTransfer