[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [augeas-devel] shellvars.aug: How to set /files/etc/file/field to "a 'b'" ?

Hi Peter,

On 16/02/12 12:10, Peter Valdemar Mørch wrote:
> Here, I'll use /files/etc/default/snmpd/SNMPDOPTS as an example. The
> same applies to any shellvars.aug file, I guess:
> The default value of SNMPDOPTS in the file:
> SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'
> How do I set that to be:
> SNMPDOPTS="a 'b'"
> (that is: doublequote a space singlequote b singlequote doublequote)
> ?
> First I set it manually with vi. Then:
> augtool> print /files/etc/default/snmpd/SNMPDOPTS
> /files/etc/default/snmpd/SNMPDOPTS = "\"a 'b'\""
> But I've tried a number of things:
> augtool> set files/etc/default/snmpd/SNMPDOPTS "\"a 'b'\""
> Too many arguments. Command set takes only 2 arguments

In Augeas 0.10.0, this will now work:

$ augtool -r .
augtool> set /files/etc/default/snmpd/SNMPDOPTS "\"a 'b'\""
augtool> print /files/etc/default/snmpd/
/files/etc/default/snmpd/SNMPDOPTS = "\"a 'b'\""
augtool> save
Saved 1 file(s)
$ cat etc/default/snmpd

Probably not in previous versions though, see below.

> Is it possible to mix'n'match ' and " in config files?

It is possible now, but older versions of augtool had poor or
non-existent support for it.  It improved in 0.10.0, plus a couple of
days ago I improved the support again for our next release.

The API should fully support nested quotes, it's just the
aug_srun/augtool parsing that didn't.

> What are the rules of quoting, and what does augtool consider a single
> argument

The support in the unreleased version is "documented" in these unit tests:

The support in 0.10.0 is shown here:

Hope that helps.

Dominic Cleal
Red Hat Consulting
m: +44 (0)7817 878113

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]