スクリプトで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にリダイレクトするさまざまな方法を試しましたが、パイプはまだ破損しています。

コアバイナリコードを端末に送信するのを防ぐためのきちんとした方法はありますか?

ベストアンサー1

定義(man tee)に従って、このteeコマンドは読み取った内容をコピーします。標準入力名前付きファイルにコピーして標準出力

出力を望まない場合は、次にリダイレクトします/dev/null

... | sudo tee outfile >/dev/null

おすすめ記事