Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/01/2014, 11:14
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Uso de parametros en script .sh

Antes que nada, déjame decirte que lo que estás haciendo no se adapta a lo que un script está diseñado para hacer. Cuando se trata de manipulación de cadenas y variables de esta manera, tu mejor opción es usar Perl o Python.

Dicho eso, usualmente se puede utilizar sustitución de variables:
Código BASH:
Ver original
  1. var="mivar"
  2. mivar="hola"
  3. echo ${!var} # imprime "hola"
Pero eso no es válido en los casos en los que el nombre de la variable es solo parcialmente el contenido de otra, como en tu caso. Nada impide, sin embargo, que utilices otra variable como intermedia para formar el nombre:
Código BASH:
Ver original
  1. parametro=campus1
  2. nombre_array=g_$parametro
  3. array_correcto=${!nombre_array}
Otra forma de hacerlo es vía eval, pero eso no juega bien con un array.

Como nota final: esto es válido solamente en BASH, y la verdad no suele ser una buena idea. Aunque resulte más tedioso, sería mejor utilizar case (ya que no tenemos matrices asociativas disponibles) por portabilidad y legibilidad futura.


Saludos.