O que funcionou para mim é escrever em um arquivo temporário e substituir o / etc / hosts por ele
#!/bin/bash
# : IP of the new host
# : name of the new host
# read current /etc/hosts int temp-file
cat /etc/hosts > tmphost
# add new entry to temp-file
echo " " >> tmphost
# replace hosts file
sudo cp tmphost /etc/hosts
# remove temp-file
rm tmphost
como @Pasi sugeriu, isso precisa de sudo sem senha