Embora adicionar um alias a um host não seja realmente difícil, o que geralmente é mais interessante é garantir que uma entrada de host tenha um alias, ou seja, tornar a operação idempotente.
Veja como você pode fazer isso com o Augeas:
set /files/etc/hosts/*[ipaddr="127.0.0.1"]/alias[.="mycouchdb"] "mycouchdb"
que só adicionará o alias se ainda não existir.
Explicação:
alias[.="mycouchdb"]
refere-se ao alias com o valor mycouchdb
(pois .
refere-se ao nó atual).
Quando ainda não houver alias com o valor mycouchdb
, alias[.="mycouchdb"]
não corresponderá a nada e o Augeas criará um nó com o rótulo alias
e valor mycouchdb
. A regra quando o nó não existe é usar o rótulo do caminho sem filtros, nesse caso alias
, para criar um novo nó de rótulo e atribuir o valor mycouchdb
Quando já houver um alias, a expressão corresponderá e o comando set substituirá o valor por mycouchdb
, o que não fará nada.