끝에 백슬래시가 있는 이 명령은 무엇을 합니까?

끝에 백슬래시가 있는 이 명령은 무엇을 합니까?
curl -L https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-ubuntu14.04 > /usr/local/bin/docker-machine-driver-kvm \

이름이 지정된 파일을 다운로드 docker-machine-driver-kvm-ubuntu14.04한 다음 무엇을 다운로드합니까? 디렉토리로 보내시겠습니까 /usr/local/bin/docker-machine-driver-kvm?

\그리고, 끝은 어떻습니까?

답변1

해당 줄을 직접 해석하면 버그처럼 보일 것입니다.

백슬래시는 쉘에서 해석되지 않도록 다음 문자를 이스케이프합니다. 백슬래시 뒤의 다음 문자가 개행 문자인 경우 해당 개행 문자는 쉘에서 명령의 끝으로 해석되지 않습니다. 대신 명령을 여러 줄에 걸쳐 효과적으로 사용할 수 있습니다.

긴 명령을 더 쉽게 읽으려는 경우 긴 줄이 이런 식으로 끊어지는 경우가 많습니다.

rsync --archive \
      --verbose \
      user@source:/dir/ \
      user@target:/dir/

마지막 줄은 \마지막 줄이기 때문에 끝에 있어서는 안 됩니다. 알아채다아무것도 없다(주석이나 단일 공백도 아님) \이런 방식으로 구분된 줄을 따라갈 수 있습니다.

요약하면 예, 이 명령은 파일을 다운로드하여 디스크의 파일에 저장합니다. 리디렉션 없이 동일한 작업을 수행하는 또 다른 방법은 다음 -o옵션을 사용하는 것입니다 curl.

curl -L \
    -o /usr/local/bin/docker-machine-driver-kvm \
    https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-ubuntu14.04 \

(스크립트의 다음 줄에 무엇이든지 따라옵니다)

관련 정보