我有一个包含一些 IP 的文本文件。我想复制此文本文件的内容,/etc/ansible/hosts
而不在终端上显示输出(如示例 2 所示)。
笔记:root 用户被禁用。
如果我使用以下内容:
sudo cat myfile.txt >> /etc/ansible/host
它不会工作,因为 sudo cat 不会影响重定向(预期)。
cat myfile.txt | sudo tee --append /etc/ansible/hosts
它将在终端中显示输出,然后将它们复制到 /etc/ansible/hosts AAAA BBBB CCCC
- 添加
/dev/null
将中断结果(不会将任何内容复制到/etc/ansible/hosts
)。
答案1
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
。
答案2
尝试使用带“-c”开关的 bash。例如:
sudo bash -c "cat /etc/hosts >> /etc/ansible/hosts" >> /dev/null