Parâmetros do conjunto manual para solicitação de POST ao longo de curl

0

Eu tenho um roteiro simples. Script pode ser executado com argumentos específicos. Por exemplo:

./my-script.sh --last-name=Smith --first-name=John

Existe o chamado curl e o envio de POST-request no script:

curl --data-urlencode last_name=$lastName --data-urlencode first_name=$firstName https://example.com

Onde firstName e lastName são variáveis, que foram analisadas a partir de argumentos.

Emita que firstName ou lastName (mas não ambos) podem ser perdidos. Se o argumento for perdido, o parâmetro apropriado não será enviado ao servidor.

Mas não sei como implementar essa lógica em scripts.

Ofcouse, eu posso adicionar if para verificar o argumento em null, mas eu posso ter muitos argumentos na linha de comando e nesse caso eu terei toneladas de if ...

    
por Yura Shinkarev 22.05.2017 / 10:54

1 resposta

1

Algo parecido com isto: suponha que

arg1=myname
arg2=

Em seguida, para incluir apenas parâmetros não vazios, código:

command="curl "
if [ "$arg1" != "" ]; then
        command="$command --data-urlencode arg1=$arg1"
fi
if [ "$arg2" != "" ]; then
        command="$command --data-urlencode arg2=$arg2"
fi

echo $command

Você tem uma declaração if para cada variável.

    
por Jos 22.05.2017 / 11:13