Sublistas en bash?

Iniciado por Drakaris, 11 Septiembre 2019, 19:48 PM

0 Miembros y 1 Visitante están viendo este tema.

Drakaris

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
Lo increible, no es lo que ves, sino como es

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

EdePC

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 (bash) [Seleccionar]
EdSon@EdePC ~
$ ARRAY=( zero one two three four five)

EdSon@EdePC ~
$ echo ${ARRAY[0]}
zero

EdSon@EdePC ~
$ echo ${ARRAY[4]}
four

EdSon@EdePC ~
$ echo ${ARRAY[*]}
zero one two three four five

EdSon@EdePC ~
$ echo ${ARRAY[*]:2}
two three four five

EdSon@EdePC ~
$ echo ${ARRAY[*]:2:1}
two



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

Código (bash) [Seleccionar]
EdSon@EdePC ~
$ NOMBRE="arrayName"

EdSon@EdePC ~
$ echo $NOMBRE
arrayName

EdSon@EdePC ~
$ eval $NOMBRE=\(1 2 3 4\)

EdSon@EdePC ~
$ echo ${arrayName[*]}
1 2 3 4

EdSon@EdePC ~
$ echo ${arrayName[2]}
3


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

Drakaris

Cita de: 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 (bash) [Seleccionar]
EdSon@EdePC ~
$ ARRAY=( zero one two three four five)

EdSon@EdePC ~
$ echo ${ARRAY[0]}
zero

EdSon@EdePC ~
$ echo ${ARRAY[4]}
four

EdSon@EdePC ~
$ echo ${ARRAY[*]}
zero one two three four five

EdSon@EdePC ~
$ echo ${ARRAY[*]:2}
two three four five

EdSon@EdePC ~
$ echo ${ARRAY[*]:2:1}
two



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

Código (bash) [Seleccionar]
EdSon@EdePC ~
$ NOMBRE="arrayName"

EdSon@EdePC ~
$ echo $NOMBRE
arrayName

EdSon@EdePC ~
$ eval $NOMBRE=\(1 2 3 4\)

EdSon@EdePC ~
$ echo ${arrayName[*]}
1 2 3 4

EdSon@EdePC ~
$ echo ${arrayName[2]}
3


- 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
Lo increible, no es lo que ves, sino como es