Existe uma maneira de usar a substituição de parâmetro para executar uma onda contra dois servidores diferentes?

3

Esta é a melhor página que pude encontrar para ajudar com isso, não vejo o que quero fazer lá: link . Mas acho que já vi isso antes.

Digamos que eu queira executar a mesma consulta no Bing e no Google (vamos supor que isso funcionaria):

curl -S "https://www.google.com?q=stackoverflow"

curl -S "https://www.bing.com?q=stackoverflow"

Posso executar os dois em um curl ? Como curl -S "https://www.${'bing','google'}.com?q=stackoverflow"

Eu juro que já vi isso antes. Mas eu claramente tenho a sintaxe errada. Bem como os termos de pesquisa.

    
por jcollum 19.12.2016 / 21:46

2 respostas

2

Curl entender (e expandir) chaves:

curl -S 'https://www.{bing,google}.com?q=stackoverflow;'

De homem curl:

URL
You can specify multiple URLs … by writing part sets within braces as in:

    http://site.{one,two,three}.com

Isso é diferente das expansões da chave shell, Curl não expande as chaves aninhadas como o seguinte exemplo de código shell:

$ echo {{1..3},{5..7}}
1 2 3 5 6 7
    
por 19.12.2016 / 21:51
2

manipulado pelo shell como dois parâmetros de URL:

curl -S https://www.{bing,google}.com\?q=stackoverflow

manipulado pela sintaxe de curl interno em um único parâmetro de URL:

curl -S https://www.\{bing,google\}.com\?q=stackoverflow
    
por 19.12.2016 / 22:10

Tags