Supondo que seu script seja executado como root, você poderia fazer:
sed -i '/^127\.0\.0\.1\s/s/$/ '"$1"'/' /etc/hosts
$1
é o primeiro argumento do script ( mysite.com
para o exemplo na pergunta). Este comando consulta a linha que contém 127.0.0.1
no arquivo hosts
e acrescenta o novo domínio a ele.
Você não deve adicionar várias linhas com 127.0.0.1
, pode causar problemas .
Uma maneira melhor é o que o instalador do Ubuntu faz - adiciona um novo endereço no intervalo de loopback ( 127.0.1.1
, por exemplo). Isso vai ser mais complicado, já que você precisará descobrir o último endereço de loopback adicionado e incrementá-lo. Vou adicionar um método para isso se eu encontrar algo simples o suficiente.