posix 쉘에서 bash 스타일 $() 구문을 사용하는 방법은 무엇입니까?

posix 쉘에서 bash 스타일 $() 구문을 사용하는 방법은 무엇입니까?

다음과 같은 기본 명령이 있습니다. SOME_VAR='blabhablhaba' bash -c "$(curl -L https://run_script.sh)"

posix 쉘을 사용하여 이 작업을 어떻게 수행할 수 있습니까? 실패합니다. SOME_VAR='blabhablhaba' sh -c "$(curl -L https://run_script.sh)"

sh: syntax error: unexpected "("

답변1

잘못된 유형의 따옴표를 사용하고 있거나 다운로드 중인 쉘 스크립트가 bashPOSIX sh스크립트가 아닌 스크립트입니다.

지금 당신이 가지고 있는 것은 curl처형 이다.현재 쉘을 클릭하고 그 결과를 sh -c "..."실행할 표현식 에 붙여넣습니다 sh.

이것을 시도해 보세요. 전체 다운로드 및 실행이 까지 연기됩니다 sh.

SOME_VAR='blabhablhaba' sh -c '$(curl -L https://run_script.sh)'

(예로 포함하신 URL은 원격 호스트 이름이 없기 때문에 결함이 있습니다. 이는 자리 표시자 예제이기 때문이라고 가정합니다.)

모든 경우에 원격 시스템이 악성 스크립트를 보내지 않을 것이라고 암묵적으로 신뢰한다는 점을 알아야 합니다. 당신도 그들의 안전을 믿습니까?

관련 정보