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 주소를 첫 번째 인수로 전달합니다.$1
curl
bash starttelem2.sh "$(curl -s http://silvo.uk.to/IPReg.dll/GetIP)"
$(curl -s http://silvo.uk.to/IPReg.dll/GetIP)
curl
이는 내부 명령의 표준 출력 으로 대체되는 명령 대체입니다 . 이 -s
옵션을 사용하면 curl
STDERR에 진행 정보가 표시되지 않습니다.
shebang을 으로 사용했지만 sh
스크립트를 의 매개변수로 실행합니다 bash
. bash
그렇습니다. 그렇게 하지 않을 특별한 이유가 없다면 sh
shebang도 만드는 것을 고려해야 합니다.bash