Linux shell 中的多个命令

Linux shell 中的多个命令

我刚刚看到一篇描述安装 containerD 运行时过程的文章,我对提到的命令有点怀疑,可能是一个拼写错误,但我想弄清楚它。命令如下

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.lis

现在据我所知 apt-key add - 用于添加密钥,内容是从管道标准输出中读取的 - 存在但是它后面的 echo 怎么样,如果这是一个单独的命令不应该用 || 分隔或分号 ;?我知道该命令是从存储库中获取密钥,然后更新 apt 源列表,但我对该命令的语法感到困惑。

答案1

这是一个错字。正确的命令是:

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | 
   sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | 
  sudo tee /etc/apt/sources.list.d/kubernetes.list

第一个命令下载 gpg 签名,https://packages.cloud.google.com/apt/doc/apt-key.gpg然后通过管道传输到sudo apt-key add --意思是“从标准输入读取”),将密钥添加到已知 apt 密钥列表中。

然后,第二个命令打印出描述相关存储库的行,并将其sudo tee通过管道传输到/etc/apt/sources.list.d/kubernetes.list.

这两个命令结合在一起,将一个新的、签名的存储库添加到您的系统中。

相关内容