Usa tee -a
(o tee --append
) con sudo
tee - read from standard input and write to standard output and files
[...]
-a, --append
append to the given FILEs, do not overwrite
[...]
Entonces su comando se convierte en
echo "something" | sudo tee -a /etc/config_file
Las ventajas de tee
sobre la ejecución de Bash con permisos administrativos son
- No ejecutas Bash con permisos administrativos
- Solo la parte 'escribir en archivo' se ejecuta con permisos avanzados
- Es mucho más fácil citar un comando complejo
La redirección se ejecuta en el shell actual. Para realizar la redirección con privilegios elevados, debe ejecutar el propio shell con privilegios elevados:
sudo bash -c "somecommand >> somefile"
Haga que sudo genere una subcapa:
sudo sh -c "echo 'JAVA_HOME=/usr/lib/jvm/java-6-sun' >> /etc/profile"
En este ejemplo, sudo ejecuta "sh" con el resto como argumentos.
(esto se muestra como un ejemplo en la página man de sudo)