Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

177
Vistas
Asignación de variables dinámicas en ShellScript - ¿Cómo?

Tengo dos variables en mi script bash

 CAR_PRICE=50000 BIKE_PRICE=20000

Estoy pasando un argumento de línea de comando mientras ejecuto mi archivo de script de shell .sh.

 --vehicletype CAR or --vehicletype BIKE

Puedo leer el valor del tipo de vehículo en el script y almacenarlo en otra variable

 VEHICLE_TYPE=<VALUE PASSED FROM COMMAND LINE ARG ie CAR/BIKE

Ahora estoy tratando de leer dinámicamente CAR_PRICE o BIKE_PRICE usando la siguiente sintaxis

 ${${VEHICLE_TYPE}_PRICE}

para obtener los valores de los parámetros sustituyendo la primera parte de la variable dinámicamente en función del valor pasado, es decir, pero arroja un error de sustitución incorrecta .

Intenté varias maneras pero nada parece funcionar. Soy nuevo en el script de shell y no estoy seguro de si dicha sustitución dinámica es compatible con el script bash.

Cualquier indicador será de ayuda.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puede usar price=${VEHICLE_TYPE}_PRICE; echo "${!price}" . Sin embargo, las matrices asociativas son una mejor herramienta para este trabajo:

 declare -A vehicle_price vehicle_price[ford]=7777 vehicle_price[toyota]=8888 vehicle_type=toyota echo "${vehicle_price[$vehicle_type]}" # gives 8888
over 4 years ago · Santiago Trujillo Denunciar

0

Puede usar la referencia de variable indirecta en bash :

 CAR_PRICE=50000 BIKE_PRICE=20000 VEHICLE_TYPE='CAR' var="${VEHICLE_TYPE}_PRICE" # variable name echo "$var" # variable value echo "${!var}"

Producción:

 CAR_PRICE 50000
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda