Io-Redirection

使用 cat 和 tee 時隱藏命令的輸出

  • April 9, 2018

我有一個包含一些 IP 的文本文件。我想將此文本文件的內容複製到其中/etc/ansible/hosts而不在終端上顯示輸出(如範例 2 所示)。

注意: root 使用者被禁用。

如果我使用以下內容:

  1. sudo cat myfile.txt >> /etc/ansible/host

它不起作用,因為 sudo cat 不影響重定向(預期)。

  1. cat myfile.txt | sudo tee --append /etc/ansible/hosts

它將在終端中顯示輸出,然後將它們複製到 /etc/ansible/hosts AAAA BBBB CCCC

  1. 添加/dev/null將中斷結果(不會複製任何內容/etc/ansible/hosts)。
sudo tee -a /etc/ansible/hosts <myfile.txt >/dev/null

或者,如果您想使用cat

cat myfile.txt | sudo tee -a /etc/ansible/hosts >/dev/null

這些中的任何一個都應該起作用。目前尚不清楚您/dev/null在嘗試時如何“添加”,但這會將標準輸出重定向tee/dev/null.

嘗試使用帶有“-c”開關的 bash。例如:

sudo bash -c "cat /etc/hosts >> /etc/ansible/hosts" >> /dev/null

引用自:https://unix.stackexchange.com/questions/436520