Sta*_*Bug 18 bash shell-script curl
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 \
Run Code Online (Sandbox Code Playgroud)
它会下载一个名为 的文件docker-machine-driver-kvm-ubuntu14.04,然后呢?将其发送到目录/usr/local/bin/docker-machine-driver-kvm?
还有,\最后呢?
Kus*_*nda 23
如果要自己解释该行,那看起来像是一个错误。
反斜杠将下一个字符转义为不被 shell 解释。如果下一个字符是换行符,则换行符不会被 shell 解释为命令的结尾。它有效地允许命令跨越多行。
它最常用于这样的情况(即更容易阅读长命令):
rsync --archive \
--verbose \
user@source:/dir/ \
user@target:/dir/
Run Code Online (Sandbox Code Playgroud)
请注意,最后一行不以 结尾,\因为它不会在下一行继续。另请注意,以这种方式分解的行后面可能没有任何内容(甚至不是评论或单个空格)\。
除此之外,是的,该命令会下载文件并将其保存到磁盘上的文件中。做同样事情的另一种方式,没有重定向,是我们 Curl 的-o选项:
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 \
Run Code Online (Sandbox Code Playgroud)
(后跟脚本下一行的任何内容)