MAC - editar arquivo de hosts no script bash

0

Eu tenho algumas coisas de VM configuradas na minha instância do mamp, estou usando o wp-cli em um bash para instalar instâncias do wordpress. Eu queria adicionar a este script um comando para editar o arquivo de hosts com base em uma var.

sudo echo -e "127.0.0.1\timtest\n" >> /etc/hosts

-bash: /etc/hosts: Permission denied
Tim Plummer
fonte
Veja minha resposta para "Como uso o sudo para redirecionar a saída para um local em que não tenho permissão para gravar?" do estouro de pilha.
Cristian Ciupitu

Respostas:

4

Eu acho que isso >>é associado ao sudocomando, não ao echocomando que você está tentando executar. Você executa eco com permissões de raiz, mas o shell associa o >>ao sudo, sem permissões especiais.

Eu tentaria mais como:

sudo bash -c 'echo -e "127.0.0.1\timtest\n" >> /etc/hosts'

(com um teste executado como sudo bash -c 'echo -e "127.0.0.1 \ timtest \ n" >> /etc/hosts.new' para teste)

Rich Homolka
fonte