catとteeを使用するときのコマンド出力を隠す

catとteeを使用するときのコマンド出力を隠す

一部の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)。

答え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

関連情報