매개변수 대체를 사용하여 서로 다른 두 서버에 대해 하나의 컬을 실행하는 방법이 있습니까?

매개변수 대체를 사용하여 서로 다른 두 서버에 대해 하나의 컬을 실행하는 방법이 있습니까?

이것은 이 문제를 해결하는 데 도움이 될 수 있는 가장 좋은 페이지입니다. 여기서 무엇을 하고 싶은지 모르겠습니다.http://wiki.bash-hackers.org/syntax/pe. 하지만 전에도 본 적이 있는 것 같아요.

Bing과 Google에 대해 동일한 쿼리를 실행하고 싶다고 가정해 보겠습니다(이러한 작업이 가정됨).

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

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

동시에 실행할 수 있나요 curl? 좋다curl -S "https://www.${'bing','google'}.com?q=stackoverflow"

맹세코 나는 이런 일을 전에도 본 적이 있습니다. 하지만 분명히 구문이 잘못되었습니다. 그리고 검색어.

답변1

Curl은 중괄호를 이해하고 확장합니다.

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

맨 컬리에서:

URL
아래와 같이 중괄호 안에 부분 집합을 작성하여 여러 URL을 지정할 수 있습니다.

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

이는 쉘 버팀대 확장과 다릅니다. Curl은아니요다음 셸 코드 예제와 같이 중첩된 중괄호를 확장합니다.

$ echo {{1..3},{5..7}}
1 2 3 5 6 7

답변2

쉘에서 두 개의 URL 매개변수로 처리됩니다.

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

단일 URL 매개변수의 내부 컬 구문으로 처리됩니다.

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

관련 정보