컬: GET 요청을 인수로 전달

컬: GET 요청을 인수로 전달

Heroku에는 컬을 사용하여 UNIX에서 잘 작동하는 파일을 다운로드할 수 있는 다음과 같은 멋진 명령이 있습니다.

curl -o latest.dump `heroku pgbackups:url`

백틱 명령을 사용하면 Windows CMD 콘솔에 복사/붙여넣기가 어려운 매우 긴 URL이 생성됩니다.

백틱은 Windows에서 작동하지 않는 것 같으니 Windows에서 이에 해당하는 것은 무엇입니까? CMD에 대한 나의 연구는 이 작은 목적에 비해 과잉이라고 생각되는 배치 파일을 만드는 방법에 대해 심층적으로 조사했습니다. 인터넷 검색 컬의 매뉴얼 페이지에는 아무것도 나오지 않았습니다. 다른 리소스를 검색해 보면 POST 요청이 생성되는 것으로 보이는데, 제 생각에는 그렇지 않습니다.

Windows CMD에서 해당 명령은 무엇입니까? 고마워요, 샘

답변1

이것은 독창적인 연구는 아니지만 다음에서 차용한 것입니다.MSDN 블로그.거기에는 다음과 같이 명시되어 있습니다.

명령의 출력을 (...) 변수로 읽는 확실한 방법은 없습니다. 유닉스 스타일 쉘에서는 역인용을 통해 이를 수행합니다. (...)Windows 명령 프로세서에는 직접 역따옴표가 없습니다., 그러나 FOR 명령을 남용하여 가짜로 만들 수 있습니다.

그리고 여기에 그러한 예가 있습니다.~을 위한유닉스와 유사한 명령 echo `your_command`:

for /f "delims=" %i in ('your_command') do @echo "%i"
  • /f다음 구문을 활성화합니다( help for자세한 내용은 참조).

    FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
    
  • delim=공백에서 분할을 비활성화합니다.

  • @echo변수의 내용을 인쇄 %i하지만 에코 호출 자체는 억제됩니다( @)

답변2

@Eugen Rieck이 이미 언급했듯이 적절한 터미널도 사용하는 것이 좋습니다. 그러나 귀하의 질문에 관해서는 :

  • 그만큼백틱무언가를 실행하고 그 결과를 인라인으로 사용하는 데 사용됩니다.평가하다명령:

    echo `date`
    

    또는

    echo $(date)
    

    인쇄할 내용:

    mar jul  1 11:46:42 CDT 2014
    

    따라서 귀하의 경우에는 매개변수 heroku로 명령을 실행하려고 합니다 . pgbackups:url이 질문을 참조할 수 있습니다.배치 파일 - 명령 출력을 변수로 설정하는 방법~처럼신자댓글에 제안합니다.

  • 그리고 요청에 매개변수를 전달하려면 해당 매개변수를 URL에 간단히 추가해야 합니다. 예를 들어 숫자로 명명된 변수와 를 보유하는 변수로 GET전달하려는 경우 URL은 다음과 같아야 합니다.number10text"I'm a text"

    "http://example.com/script.php?number=10&text=I'm+a+text"
    

관련 정보