shell – Redirigir stdout a un archivo para el que no tiene permiso de escritura

Pregunta:

Cuando intenta modificar un archivo sin tener permisos de escritura en él, obtiene un error:

> touch /tmp/foo && sudo chown root /tmp/foo
> echo test > /tmp/foo
zsh: permission denied: /tmp/foo

Sudoing no ayuda, porque ejecuta el comando como root, pero el shell maneja la redirección de stdout y abre el archivo como usted de todos modos:

> sudo echo test > /tmp/foo
zsh: permission denied: /tmp/foo

¿Existe una manera fácil de redirigir stdout a un archivo en el que no tiene permiso para escribir, además de abrir un shell como root y manipular el archivo de esa manera?

> sudo su
# echo test > /tmp/foo

Respuesta:

Sí, usando tee . Entonces echo test > /tmp/foo convierte

echo test | sudo tee /tmp/foo

También puede agregar ( >> )

echo test | sudo tee -a /tmp/foo

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım