Что означает объединенные команды `curl` +` apt-key add`?

19

При установке Heroku CLI есть команда, с которой я столкнулся. Вот команда:

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

Что это значит и как это работает?

sphoenix
источник

Ответы:

34

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.

Занна
источник