這個末尾帶有反斜杠的命令有什麼作用?

這個末尾帶有反斜杠的命令有什麼作用?
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

如果要自行解釋該行,那麼這看起來像是一個錯誤。

反斜線會轉義下一個字符,使其不被 shell 解釋。如果反斜線後面的下一個字元是換行符,則該換行符不會被 shell 解釋為命令的結尾。相反,它有效地允許命令跨越多行。

當您想要更輕鬆地閱讀長命令時,通常會以這種方式斷開長行:

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 \

(後跟腳本中下一行的任何內容)

相關內容