insere texto em um arquivo usando o comando echo [duplicate]

3

Estou tentando inserir um texto em um arquivo da seguinte maneira

sudo echo "abc-abc/abc/abc" >> /etc/portage/make.conf

mas isso me dá o erro Permissão negada

embora eu esteja usando o comando sudo

    
por user44499 06.08.2013 / 11:05

2 respostas

1

O Sudo apenas executa o primeiro comando, no seu caso "echo" abc-abc / abc / abc "".

Portanto, o resto do comando (escrito em /etc/portage/make.conf) será executado no modo de usuário.

Você só precisa modificar as permissões no arquivo usando chmod.

    
por 06.08.2013 / 11:16
3

Nessa linha de comando, o shell abre o /etc/portage/make.conf no modo de anexação, é o stdout de um novo processo e executa sudo nesse novo processo. Não é sudo nem echo que abre o arquivo, é o seu shell que está sendo executado com suas credenciais.

Você precisaria que o arquivo fosse aberto pelo comando iniciado como root. Então pode ser:

sudo sh -c 'echo "abc-abc/abc/abc" >> /etc/portage/make.conf'

Ou:

echo "abc-abc/abc/abc" | sudo tee -a /etc/portage/make.conf > /dev/null
    
por 06.08.2013 / 11:12

Tags