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

727
Vistas
Script Bash con valores de parámetros y banderas opcionales

Estoy escribiendo un script bash, que se basa en una serie de valores proporcionados a través de parámetros y ofrece indicadores (booleanos) opcionales.

Basándome en el ejemplo de esta página , he extendido el script, con la opción -h , a lo siguiente:

 human=false while getopts u:a:f:h: flag do case "${flag}" in u) username=${OPTARG};; a) age=${OPTARG};; f) fullname=${OPTARG};; h) human=true;; esac done if $human; then echo "Hello human" else echo "You're not human" fi echo "Username: $username"; echo "Age: $age"; echo "Full Name: $fullname";

El problema con esto es que el parámetro -h requiere un valor, mientras que debería manejarse como un indicador:

 bash test.sh -u asdf -h test.sh: option requires an argument -- h You're not human Username: asdf Age: Full Name:

¿Cómo puedo usar ambos parámetros con valores y banderas en un script bash?

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

0

Debe reemplazar getopts u:a:f:h: con getopts u:a:f:h .

Eliminando el : le dices a getopts que h no tiene ningún argumento adicional.

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