이러한 명령은 본질적으로 다른가요, 아니면 의미상 다른가요?

이러한 명령은 본질적으로 다른가요, 아니면 의미상 다른가요?

curl스크립트를 가져와서 실행하는 쉘 스크립트에서 이 두 가지 방법이 근본적으로 다른가요?

curl http://address-to-some-script/dosomething.sh | sudo tee /usr/bin/dosomething.sh

...오른쪽...

sudo curl http://address-to-some-script/dosomething.sh >> /usr/bin/dosomething.sh

sudo두 번째 명령에는 오른쪽에 curl잠시 멈추게 하는 내용이 있지만 첫 번째 명령과 다른지 또는 어떻게 다른지 명확하게 설명할 수 없습니다(더 위험합니까?).

답변1

실질적인 차이가 많이 있습니다.

curl http://address-to-some-script/dosomething.sh | sudo tee /usr/bin/dosomething.sh

curl현재 사용자 및 루트로 tee실행되며 /usr/bin/dosomething.sh이전에 지워진 내용도 기록합니다.

sudo curl http://address-to-some-script/dosomething.sh >> /usr/bin/dosomething.sh

루트로 실행 하고 현재 사용자의 권한을 curl연결해 보십시오 (현재 셸 설정 리디렉션)./usr/bin/dosomething.sh

관련 정보