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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BASH] Ayuda urgente con codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BASH] Ayuda urgente con codigo  (Leído 2,282 veces)
kaskull

Desconectado Desconectado

Mensajes: 45


Ver Perfil
[BASH] Ayuda urgente con codigo
« en: 8 Enero 2014, 12:36 pm »

Hola muy buenas,
Este codigo es para un trabajo: El usuario entra dos parametros, la ruta donde se encuentran los usuarios y el tamaño máximo.
Tengo que comprobar si tengo acceso a la carpeta y si supera el tamaño máximo, pero al comparar con el IF me da error.
Error:
http://puu.sh/6dFs6

Código
  1. #!/bin/bash
  2. if test $# -lt 2
  3. then
  4. echo "Ús prac2_4.sh <ruta home usuaris> <Mb llindar>"
  5. exit 0
  6. fi
  7. cd $1
  8. pwd
  9. for directori in *
  10. do
  11. echo "$1, $2, $directori"
  12. if [ -r $directori ]
  13. then
  14. echo "$dierctori"
  15. echo "Analitzant home de $directori"
  16. size=$( du -ms -x $1/$directori | cut -f1 )
  17. if ( $size <= $2 )
  18. then
  19. echo "L'usuari $directori NO exedeix la quota de $2, té $size"
  20. else
  21. echo "L'usuari $directori exedeix la quota de $2, té $size"
  22. fi
  23. else
  24. echo "No puc llegir $1/$directori"
  25. fi
  26. done
  27.  
  28. exit 0



« Última modificación: 8 Enero 2014, 13:01 pm por Eleкtro » En línea

blipi

Desconectado Desconectado

Mensajes: 25


Programador y hacker por devoción


Ver Perfil WWW
Re: [BASH] Ayuda urgente con codigo
« Respuesta #1 en: 8 Enero 2014, 17:11 pm »

Ese if no es correcto en Bash. Si quieres comparar números una forma de hacerlo es:
Código
  1. if [ "$size" -le "$2" ]

-le significa "less equal", es decir, menor igual. Otros son, lt (less than <), gt (greater than >), ge (greater equal >=)

Suerte!

PD: Veig que també ets català ;)


En línea

-Myx-

Desconectado Desconectado

Mensajes: 39



Ver Perfil
Re: [BASH] Ayuda urgente con codigo
« Respuesta #2 en: 8 Enero 2014, 17:48 pm »

Ó agrega un par de parentesis a:
Código
  1. if ( $size <= $2 )

Para que quede:
Código
  1. if (( $size <= $2 ))
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda Con Codigo de VB .net(Urgente)
.NET (C#, VB.NET, ASP)
iory330 3 4,141 Último mensaje 11 Octubre 2009, 16:05 pm
por Keyen Night
Ayuda Con Codigo de VB .net(Urgente)
.NET (C#, VB.NET, ASP)
iory330 2 3,036 Último mensaje 9 Octubre 2009, 21:02 pm
por iory330
ayuda urgente crear un archivo bash script
Hacking
ragnarok123456 1 3,576 Último mensaje 23 Febrero 2013, 14:57 pm
por Nec10
[Bash Script] Ayuda por favor. Donde falla esta linea de codigo.
Scripting
legolas266 1 2,560 Último mensaje 31 Mayo 2013, 13:11 pm
por legolas266
Ayuda con código Bash
Scripting
bilbo 2 2,485 Último mensaje 23 Septiembre 2019, 19:37 pm
por bilbo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines