我有一个命令行:
# Download and add the Nginx GPG key to verify the authenticity of the packages.
wget -O - https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg
这会将正确的数据写入密钥环,但也会将其喷射到终端。我尝试将 sudo tee 更改为 sudo cat >,但“>”不是 sudo 的一部分,所以管道损坏了。
我还尝试了各种将 stdout 重定向到 /dev/null 的方法,但管道仍然损坏。
有没有一种干净的方法来避免 tee 将密钥二进制代码发送到终端?
答案1
根据定义 ( man tee
),该tee
命令会复制它所读取的内容标准输入到其命名文件并将其复制到标准输出。
如果您不想要输出,只需将其重定向到/dev/null
:
... | sudo tee outfile >/dev/null