質問: stdoutを書き込み権限のないファイルにリダイレクトする 書き込み権限がないファイルを変更しようとすると、エラーが発生します。> touch /tmp/foo && sudo chown root /tmp/foo > echo test > /tmp/foo zsh: permission denied: /tmp/foo rootとしてコマンドを実行するため、sudoingは役に立ちませんが、シェルはstdoutのリダイレクトを処理し、とにかくファイルを開きます。> sudo echo test > /tmp/foo zsh: permission denied: /tmp/foo rootとしてシェルを開き、ファイルをそのように操作する以外に、書き込み権限のないファイルにstdoutをリダイレクトする簡単な方法はありますか?> sudo su # echo test > /tmp/foo
回答: teeがおそらく最良の選択ですが、状況によっては次のようなもので十分かもしれません。sudo sh -c 'echo test > /tmp/foo'