组合命令 `curl` + `apt-key add` 是什么意思?

组合命令 `curl` + `apt-key add` 是什么意思?

在安装 Heroku CLI 时,我遇到了一个命令。命令如下:

curl -L https://cli-assets.heroku.com/apt/release.key | sudo apt-key add -

它的含义是什么以及它是如何工作的?

答案1

curl是一个用于从链接下载内容的实用程序。默认情况下,它会写入 STDOUT(即在终端上打印来自链接的内容)

-L选项curl表示:

-L, --location
         (HTTP/HTTPS)  If the server reports that the requested page has moved to a 
         different location (indicated with a Location: header and a 3XX response 
         code), this option will make curl redo the request on the new place...

该操作符|是一个管道,它将其前面的命令的输出作为其后面的命令的 STDIN。

apt-key是一个用于向 apt 添加受信任密钥的实用程序。您可以看到 的add作用man apt-key

add <filename>
         Add a new key to the list of trusted keys. The key is read from the 
         filename given with the parameter filename or if the filename is -
         from standard input.

正如它所提到的,-告诉apt key add密钥文件应该从 STDIN 读取,在这种情况下是从命令中传输的内容curl,因此,总而言之:

下载此链接上的任何内容(即使它已移动),并将其添加为受信任的 APT 存储库密钥。

相关内容