Como adicionar argumentos a um script

Como adicionar argumentos a um script

Gostaria de saber como adicionar argumentos aos comandos.

Eu gostaria que fosse mais ou menos assim:

$ arg --test

'arg' seria o comando principal e '--test' seria o argumento.

Responder1

Para argumentos numerados entre 0e 9onde xestá o argumento numerado específico, use esta notação:

$x

Para argumentos numerados acima daquele onde xestá o argumento numerado específico, use esta notação:

${x}

Para obter uma lista de todos os argumentos, use isto:

${@}

Ou isto:

${*}

Observe que, quando colocado entre aspas duplas, ${*}expande todos os argumentos separados por espaço (geralmente, tecnicamente, é o primeiro caractere da variável $IFS(separador de campo interno)) em uma string. ${@}se expande em várias strings quando está entre aspas duplas.

O bracketing não é necessário ao usar ${@}ou ${*}.

Responder2

Esta pode ser uma duplicata das perguntas respondidas. No entanto, encontre abaixo uma possível solução para sua solicitação como um script de shell muito básico.

#!/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."

Você pode aprender algo mais se brincar com as opções desse script de shell na linha de comando. Isso pode adicionar à primeira resposta porJL2210bastante apropriadamente.

NB A linha echo "Usage: $0 [--test]"visa oferecer alguma mensagem de ajuda e faz uso da convenção para indicar argumentos opcionais entre colchetes.

Espero que isto ajude.

informação relacionada