
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 \
Es lädt eine Datei mit dem Namen herunter docker-machine-driver-kvm-ubuntu14.04
und sendet sie dann an das Verzeichnis /usr/local/bin/docker-machine-driver-kvm
?
Und was ist mit dem \
am Ende?
Antwort1
Das sieht nach einem Fehler aus, wenn die Zeile für sich allein interpretiert werden soll.
Ein Backslash verhindert, dass das nächste Zeichen von der Shell interpretiert wird. Wenn das nächste Zeichen nach dem Backslash ein Zeilenumbruchzeichen ist, wird dieser Zeilenumbruch von der Shell nicht als Ende des Befehls interpretiert. Stattdessen ermöglicht es effektiv, dass ein Befehl mehrere Zeilen umfasst.
Wenn Sie einen langen Befehl leichter lesbar machen möchten, werden lange Zeilen häufig auf diese Weise umgebrochen:
rsync --archive \
--verbose \
user@source:/dir/ \
user@target:/dir/
\
Beachten Sie, dass die letzte Zeile kein am Ende haben sollte, da es die letzte Zeile ist. Beachten Sie, dassNichts\
Auf die so umgebrochenen Zeilen darf nur ein Kommentar oder ein einzelnes Leerzeichen folgen .
Zusammenfassend lässt sich sagen, dass der Befehl eine Datei herunterlädt und in einer Datei auf der Festplatte speichert. Eine andere Möglichkeit, dasselbe ohne Umleitung zu tun, wäre die Verwendung der -o
Option mit 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 \
(gefolgt von dem, was in der nächsten Zeile Ihres Skripts steht)