書き込み権限を持たずにファイルを変更しようとすると、エラーが発生します:
> touch /tmp/foo && sudo chown root /tmp/foo
> echo test > /tmp/foo
zsh: permission denied: /tmp/foo
Sudoingはコマンドをrootとして実行するため役に立ちませんが、シェルはstdoutのリダイレクトを処理し、とにかくファイルを開きます:
> sudo echo test > /tmp/foo
zsh: permission denied: /tmp/foo
ルートとしてシェルを開き、その方法でファイルを操作する以外に、書き込み権限のないファイルにstdoutをリダイレクトする簡単な方法はありますか?
> sudo su
# echo test > /tmp/foo
承認された回答:
はい、tee
を使用します 。したがって、echo test > /tmp/foo
echo test | sudo tee /tmp/foo
追加することもできます(>>
)
echo test | sudo tee -a /tmp/foo