Bash
在腳本中使用 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 的一部分,所以我的管道壞了。
我還嘗試了將標準輸出重定向到 /dev/null 的各種方法,但仍然會損壞管道。
有沒有一種干淨的方法可以避免 tee 將密鑰二進制程式碼發送到終端?
根據定義 (
man tee
),該tee
命令將它在stdin上讀取的內容複製到其命名文件,並將其複製到stdout。如果您不想要輸出,只需將其重定向到
/dev/null
:... | sudo tee outfile >/dev/null