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


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  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 2,530 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 »

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 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 »

[ -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 »

[ -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 »

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 »

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 »

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 »

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

acarllc

Desconectado Desconectado

Mensajes: 7


/workspace/


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

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 13,299 Último mensaje 4 Noviembre 2010, 15:58
por moikano→@
[Bash] Abrir un proceso o otro script bash en una nueva shell
Scripting
nhaalclkiemr 2 12,002 Último mensaje 27 Agosto 2011, 06:23
por nhaalclkiemr
[Reto Bash] Crackme 1
Scripting
Runex 8 4,195 Último mensaje 12 Mayo 2012, 01:17
por $Edu$
[Reto Bash] Generar x aleatorios y calcular el tiempo de ejecución.
Scripting
Runex 1 2,016 Último mensaje 28 Marzo 2014, 20:26
por acarllc
[Reto Bash] desordenar cadena, scrabble string
Scripting
-Myx- 0 1,267 Último mensaje 4 Abril 2014, 05:04
por -Myx-
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines