在脚本中使用 sudo tee 也会将垃圾发送到终端,bash Debian 11

在脚本中使用 sudo tee 也会将垃圾发送到终端,bash Debian 11

我有一个命令行:

# 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

相关内容