elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Reto Bash] It's a dir?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Reto Bash] It's a dir?  (Leído 4,058 veces)
Runex

Desconectado Desconectado

Mensajes: 192


http://tutogramacion.blogspot.com


Ver Perfil WWW
[Reto Bash] It's a dir?
« en: 12 Mayo 2012, 17:28 pm »

Es el mismo reto que el planteado por EleKtro pero en bash, así que dificultad ninguna :).

Nombre:      It's a dir?
Dificultad:     2/10
Objetivo:      Diferenciar entre directorios y archivos
Indicaciones:
Ejemplo:    

Solución: http://pastebin.com/Z6WTYpAS

Solucionado:

1-> Leo Gutiérrez


« Última modificación: 18 Mayo 2012, 16:47 pm por Runex » En línea

"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [Reto Bash] It's a dir?
« Respuesta #1 en: 18 Mayo 2012, 15:53 pm »

[ -f "$in" ] && echo -e "Es un archivo regular."
[ -d "$in" ] && echo -e "Es un directorio."

Creo que con eso basta.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Runex

Desconectado Desconectado

Mensajes: 192


http://tutogramacion.blogspot.com


Ver Perfil WWW
Re: [Reto Bash] It's a dir?
« Respuesta #2 en: 18 Mayo 2012, 16:46 pm »

[ -f "$in" ] && echo -e "Es un archivo regular."
[ -d "$in" ] && echo -e "Es un directorio."

Creo que con eso basta.

Se, esa era la solución, hubiese estado mejor el source entero pero eso era lo único trascendente :)

En línea

"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".
Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: [Reto Bash] It's a dir?
« Respuesta #3 en: 21 Febrero 2013, 11:47 am »

Yo lo haré en Python, ya que así práctico x)

Código
  1. #! /usr/local/bin/Python-3.3.0/python
  2.  
  3. import os.path
  4. filee = str(input("Put an string >> "));
  5.  
  6. if os.path.isdir(filee):
  7.        print("Es un directorio");
  8.  
  9. elif os.path.isfile(filee):
  10.        print("Es un archivo");
  11. else:
  12.        print("No existe");
  13.  
  14.  
En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
jdomgo3

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: [Reto Bash] It's a dir?
« Respuesta #4 en: 21 Enero 2014, 21:17 pm »

Se que llego con casi un año de retraso, pero en shell script hay varias maneras de comprobar si existe un fichero, directorio, link o indiferente. Aquí va mi aportación de lo mas simple:

Código
  1. D=/tmp
  2. A=/$D/archivo.txt
  3. L=/$D/link
  4.  
  5. # Para comprobar si es un directorio
  6. if [ -d $D ];then echo "$D es un directorio.";fi
  7.  
  8. # Para comprobar si es un fichero
  9. if [ -f $A ];then echo "$A es un fichero.";fi
  10.  
  11. # Para comprobar si es un link simbólico
  12. if [ -L $L ];then echo "$L es un link simbólico.";fi
  13.  
  14. # Para comprobar simplemente si existe, sea lo que sea, fichero, directorio o link
  15. if [ -e $A ];then echo "$A existe.";fi
En línea

Yoel Alejandro

Desconectado Desconectado

Mensajes: 254



Ver Perfil WWW
Re: [Reto Bash] It's a dir?
« Respuesta #5 en: 6 Febrero 2014, 03:09 am »

Pero cuidado, el hecho de que no sea tipo f, no significa que sea un directorio. En UNIX existen tipos de fichero que no son ni directorio ni archivo normal, como links simbólicos, o dispositivos especiales de bloque.
En línea

Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)
jdomgo3

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: [Reto Bash] It's a dir?
« Respuesta #6 en: 7 Febrero 2014, 07:28 am »

En realidad hay 7 tipos definidos en los sistemas BDS y System V que son:

  • (-) Archivo ordinario y tiene la constante asociada en sys/stat.h "S__IFREG"
  • (d) Directorio y tiene la constante asociada en sys/stat.h "S__IFDIR"
  • (p) Cauce nombrado o "fifo" y tiene la constante asociada en sys/stat.h "S__IFIFO"
  • (c) Archivo especial modo carácter y tiene la constante asociada en sys/stat.h "S__IFCHR"
  • (b) Archivo especial modo bloque y tiene la constante asociada en sys/stat.h "S__IFBLK"
  • (l) Enlace simbólico y tiene la constante asociada en sys/stat.h "S__IFLNK"
  • (s) "Shoket" y tiene la constante asociada en sys/stat.h "S__IFSHOCK"

Un saludo.
En línea

lufalas

Desconectado Desconectado

Mensajes: 7


/workspace/


Ver Perfil
Re: [Reto Bash] It's a dir?
« Respuesta #7 en: 28 Marzo 2014, 20:23 pm »

Código
  1. #!/bin/bash
  2.  
  3. if [ $# -gt 0 ]; then
  4.   if [ -e $1 ]; then
  5.      if [ -f $1 ]; then
  6.         echo "Es un archivo"
  7.      elif [ -d $1 ]; then
  8.         echo "Es un directorio"
  9.      fi
  10.   else
  11.      echo "No existe directorio ni archivo con ese nombre"
  12.   fi
  13. fi
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Bash script] equivalente de goto en batch para bash (SOLUCIONADO)
Scripting
moikano→@ 4 16,051 Último mensaje 4 Noviembre 2010, 15:58 pm
por moikano→@
[Bash] Abrir un proceso o otro script bash en una nueva shell
Scripting
nhaalclkiemr 2 13,964 Último mensaje 27 Agosto 2011, 06:23 am
por nhaalclkiemr
[Reto Bash] Crackme 1
Scripting
Runex 8 6,258 Último mensaje 12 Mayo 2012, 01:17 am
por $Edu$
[Reto Bash] Generar x aleatorios y calcular el tiempo de ejecución.
Scripting
Runex 1 3,245 Último mensaje 28 Marzo 2014, 20:26 pm
por lufalas
[Reto Bash] desordenar cadena, scrabble string
Scripting
-Myx- 1 3,951 Último mensaje 7 Enero 2022, 16:44 pm
por itsy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines