컬 결과를 매개변수로 전달하는 방법

컬 결과를 매개변수로 전달하는 방법

IP 주소만 반환하는 웹 애플리케이션이 있습니다. 해당 IP 주소에 연결해야 하는 애플리케이션을 트리거하는 다른 배치 스크립트에 해당 IP 결과를 전달하고 싶습니다.

내 테스트는 다음과 같습니다.

curl http://silvo.uk.to/IPReg.dll/GetIP | bash starttelem2.sh

테스트를 위해 starttelem2.sh에는 다음만 포함됩니다.

#!/bin/sh
echo "THE IP IS " $1

그러나 위에서 파이프를 사용하여 컬을 호출하면 컬 다운로드 진행 상황이 표시되는 것 같습니다.

컬 호출 결과를 bash 스크립트에 간단히 전달할 수 있는 방법은 무엇입니까?

답변1

스크립트에서 위치 인수(매개변수)( )를 사용하고 있으므로 1명령 대체를 사용하여 IP 주소를 첫 번째 인수로 전달합니다.$1curl

bash starttelem2.sh "$(curl -s http://silvo.uk.to/IPReg.dll/GetIP)"

$(curl -s http://silvo.uk.to/IPReg.dll/GetIP)curl이는 내부 명령의 표준 출력 으로 대체되는 명령 대체입니다 . 이 -s옵션을 사용하면 curlSTDERR에 진행 정보가 표시되지 않습니다.

shebang을 으로 사용했지만 sh스크립트를 의 매개변수로 실행합니다 bash. bash그렇습니다. 그렇게 하지 않을 특별한 이유가 없다면 shshebang도 만드는 것을 고려해야 합니다.bash

관련 정보