Cómo agregar argumentos a un script

Cómo agregar argumentos a un script

Me gustaría saber cómo agregar argumentos a los comandos.

Me gustaría que fuera algo así:

$ arg --test

'arg' sería el comando principal y '--test' sería el argumento.

Respuesta1

Para argumentos numerados entre 0y 9donde xestá el argumento numerado específico, utilice esta notación:

$x

Para los argumentos numerados por encima de donde xestá el argumento numerado específico, use esta notación:

${x}

Para obtener una lista de todos los argumentos, utilice esto:

${@}

O esto:

${*}

Tenga en cuenta que cuando se utilizan comillas dobles, ${*}se expanden todos los argumentos separados por espacios (normalmente, técnicamente es el primer carácter de la variable $IFS(separador de campo interno)) en una cadena. ${@}se expande en varias cadenas cuando está entre comillas dobles.

No es necesario utilizar corchetes cuando se utiliza ${@}o ${*}.

Respuesta2

Esto puede ser un duplicado de las preguntas respondidas. Sin embargo, encuentre una posible solución a su solicitud como un script de shell muy básico a continuación.

#!/bin/bash

for i in ${@} ; do
    case ${i} in
        --test)     echo "test option found"
                    ;;
        *)          echo "Usage: $0 [--test]"
                    exit 1
    esac
done
echo "$0 finished."

Puede aprender algo más si juega con las opciones de este script de shell en la línea de comando. Esto puede complementar la primera respuesta deJL2210bastante apropiadamente.

NB La línea echo "Usage: $0 [--test]"tiene como objetivo ofrecer algún mensaje de ayuda y hace uso de la convención para indicar argumentos opcionales entre corchetes.

Espero que esto ayude.

información relacionada