stdinからrootが所有するファイルにテキストを書きたいと思っています。sudoで出力リダイレクトを使用するには?
私はこれをSSH接続(基本的にはスクリプトから)を介してプログラムで実行しています。そのため、テキストエディタを使用することは問題になりません。ターミナルはありません。プロセスは完全に自動化されています。
ssh [email protected] sudo cat >the-file
残念なことに、リダイレクトがされています[A]ルートの標高はsudo
を介して取得することができ、かつ[B]ファイルをリダイレクトしてcat
を使用して書き込むことができ、私は次のように機能するであろうと想定することを考えると
sudo
に適用され、cat
に適用されません。この例ではcat
にどのようにリダイレクトを適用できますか?
は、実際には、あなたもSSH接続を介してテキストエディタを使用することができ、vimのか、ナノなどのエディタが正常に動作する必要があります。 SSH接続であなたのケースをより良く説明してください。リダイレクトしようとすると既にログに記録されていますか? – paulequilibrio
sudoコマンドが正しく表示されません。 'sudo -u user -h host cat> the-file'でなければなりません。それは私のシステム上で動作します。 "私はSSH接続を介してこれをやっているので、テキストエディタを使うのは問題外です"。その結論は、あなたがそれを作るのと同じくらい自明ではありません。 「vim」、「nano」、「emacs -nw」などの編集者は端末でうまく動作します。 – kaylum
@ John1024はい、私はteeを使うことができましたが、リダイレクトの問題を直接修正したいと思います。 –