augeas: insira diretiva após comentário no httpd.conf

3

Estou tentando inserir uma diretiva ServerName após o comentário correspondente no httpd.conf:

#ServerName www.example.com:80

Isso falha:

defvar sncomment /files/etc/httpd/conf/httpd.conf/#comment[.= 'ServerName  www.example.com:80']
ins directive after $sncomment
defvar snentry /files/etc/httpd/conf/httpd.conf/directive[preceding-sibling::*[1][$sncomment]]
set $snentry 'ServerName'
set $snentry/arg 'www.domain:80'

$ sncomment corresponde à linha correta e uma diretiva em branco é inserida no ponto correto da árvore, mas $ snentry corresponde a todas as diretivas na árvore e não apenas àquelas inseridas. Como posso corresponder apenas à diretiva inserida?

Obrigado

    
por Ian 28.10.2014 / 01:44

1 resposta

0

Há uma maneira mais simples de corresponder à diretiva recém-inserida:

defvar snentry /files/etc/httpd/conf/httpd.conf/directive[. = '']

Isso funcionará enquanto não houver outras diretivas em branco na árvore. No entanto, ainda gostaria de corrigir a sintaxe de irmãos anteriores se alguém conseguir identificar o erro no meu código.

    
por 28.10.2014 / 02:18

Tags