
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 \
(за которым следует то, что находится в следующей строке вашего скрипта)