Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Drakaris en 11 Septiembre 2019, 19:48 pm



Título: Sublistas en bash?
Publicado por: Drakaris en 11 Septiembre 2019, 19:48 pm
Hola, estoy haciendo un script para linux, en la cual se necesitarían sublistas (no impresindibles)
Sabrían si existe algo parecido? O si es posible

Si no existe. Como puedo crear una lista cuyo nombre es el valor de otra variable?

Gracias


Título: Re: Sublistas en bash?
Publicado por: engel lex en 11 Septiembre 2019, 19:51 pm
estás seguro que quieres hacerlo en bash? recuerda, bash no es un lenguaje de programacion, es un lenguaje de manejo de archivos por lotes, cualquier esfuerzo de hacer algo similar usualmente es mejor hacerlo en un lenguaje real...

puedes mostrar una sección de tu script para ayudarte


Título: Re: Sublistas en bash?
Publicado por: EdePC en 12 Septiembre 2019, 17:35 pm
Saludos,

- Como todo lenguaje, cada uno tiene mejores prestaciones para hacer una u otra cosa. Bash es bastante poderoso, aunque en Listas y SubListas me parece que resalta un poco más Python.

- Teniendo en cuenta esto y entendiendo Listas y SubListas de Bash como las que tiene Python: http://elclubdelautodidacta.es/wp/2011/09/python-capitulo-18-creacion-de-sublistas/, en Bash serías algo así el manejo de SubListas:

Código
  1. EdSon@EdePC ~
  2. $ ARRAY=( zero one two three four five)
  3.  
  4. EdSon@EdePC ~
  5. $ echo ${ARRAY[0]}
  6. zero
  7.  
  8. EdSon@EdePC ~
  9. $ echo ${ARRAY[4]}
  10. four
  11.  
  12. EdSon@EdePC ~
  13. $ echo ${ARRAY[*]}
  14. zero one two three four five
  15.  
  16. EdSon@EdePC ~
  17. $ echo ${ARRAY[*]:2}
  18. two three four five
  19.  
  20. EdSon@EdePC ~
  21. $ echo ${ARRAY[*]:2:1}
  22. two
  23.  
  24.  

- Para crear una Lista (Array) cuyo nombre sea el valor de una variable:

Código
  1. EdSon@EdePC ~
  2. $ NOMBRE="arrayName"
  3.  
  4. EdSon@EdePC ~
  5. $ echo $NOMBRE
  6. arrayName
  7.  
  8. EdSon@EdePC ~
  9. $ eval $NOMBRE=\(1 2 3 4\)
  10.  
  11. EdSon@EdePC ~
  12. $ echo ${arrayName[*]}
  13. 1 2 3 4
  14.  
  15. EdSon@EdePC ~
  16. $ echo ${arrayName[2]}
  17. 3
  18.  

- Referencias:
-- Array en Bash (Advanced Bash-Scripting Guide)
http://tldp.org/LDP/abs/html/arrays.html


Título: Re: Re: Sublistas en bash?
Publicado por: Drakaris en 12 Septiembre 2019, 23:29 pm
Saludos,

- Como todo lenguaje, cada uno tiene mejores prestaciones para hacer una u otra cosa. Bash es bastante poderoso, aunque en Listas y SubListas me parece que resalta un poco más Python.

- Teniendo en cuenta esto y entendiendo Listas y SubListas de Bash como las que tiene Python: http://elclubdelautodidacta.es/wp/2011/09/python-capitulo-18-creacion-de-sublistas/, en Bash serías algo así el manejo de SubListas:

Código
  1. EdSon@EdePC ~
  2. $ ARRAY=( zero one two three four five)
  3.  
  4. EdSon@EdePC ~
  5. $ echo ${ARRAY[0]}
  6. zero
  7.  
  8. EdSon@EdePC ~
  9. $ echo ${ARRAY[4]}
  10. four
  11.  
  12. EdSon@EdePC ~
  13. $ echo ${ARRAY[*]}
  14. zero one two three four five
  15.  
  16. EdSon@EdePC ~
  17. $ echo ${ARRAY[*]:2}
  18. two three four five
  19.  
  20. EdSon@EdePC ~
  21. $ echo ${ARRAY[*]:2:1}
  22. two
  23.  
  24.  

- Para crear una Lista (Array) cuyo nombre sea el valor de una variable:

Código
  1. EdSon@EdePC ~
  2. $ NOMBRE="arrayName"
  3.  
  4. EdSon@EdePC ~
  5. $ echo $NOMBRE
  6. arrayName
  7.  
  8. EdSon@EdePC ~
  9. $ eval $NOMBRE=\(1 2 3 4\)
  10.  
  11. EdSon@EdePC ~
  12. $ echo ${arrayName[*]}
  13. 1 2 3 4
  14.  
  15. EdSon@EdePC ~
  16. $ echo ${arrayName[2]}
  17. 3
  18.  

- Referencias:
-- Array en Bash (Advanced Bash-Scripting Guide)
http://tldp.org/LDP/abs/html/arrays.html
Gracias por la solución

Enviado desde mi VTR-L09 mediante Tapatalk