Se você expressar seu comando sem aspas simples, poderá colocá-lo entre aspas simples e executá-lo por meio de um shell intermediário.
Para executar isso como root:
echo 'clock_hctosys="YES"' >> /etc/conf.d/hwclock
Escreva o comando de uma maneira diferente que não use '
:
echo clock_hctosys=\"YES\" >> /etc/conf.d/hwclock
Em seguida, invoque sudo sh -c …
:
sudo sh -c 'echo clock_hctosys=\"YES\" >> /etc/conf.d/hwclock'
Como alternativa, para gravar a saída em um arquivo que somente o root pode gravar, chame sudo tee
. Passe a opção -a
para tee
para anexar ao arquivo de destino, caso contrário, o arquivo será truncado.
echo 'clock_hctosys="YES"' | sudo tee -a /etc/conf.d/hwclock >/dev/null
Para modificações de arquivos mais complexas, você pode chamar sudo sed
, sudo ed
, sudo perl
,…
Alternativamente, use um editor decente e faça-o chamar de sudo. No Emacs, abra /sudo:/etc/conf.d/hwclock
. No Vim, chame :w !sudo tee %
para gravar no arquivo aberto como root ou use o plug-in sudo.vim . Ou vá do final do sudo e chame sudoedit /etc/conf.d/hwclock
.
Ou você pode ceder ao lado sombrio e executar um shell como root.
$ sudo -i
# echo 'clock_hctosys="YES"' >> /etc/conf.d/hwclock