[augeas-devel] [PATCH] Add export and unset to shellvars.aug. I have seen them in several
Raphael Pinson
raphink at gmail.com
Wed Apr 8 13:43:20 UTC 2009
Note: It would be great to use "unset" as a flag the way "export" is
used, but that would require to have a non-ambiguous put based on the
parsed values with :
kv = [ export? . key key_re . eq . (simple_value | array) . eol ]
| [ [ key "unset" . Util.del_ws_spc ] . store key_re . eol ]
---
lenses/shellvars.aug | 9 ++++++---
lenses/tests/test_shellvars.aug | 11 ++++++-----
2 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/lenses/shellvars.aug b/lenses/shellvars.aug
index 22a35ab..841669e 100644
--- a/lenses/shellvars.aug
+++ b/lenses/shellvars.aug
@@ -5,7 +5,7 @@ module Shellvars =
let eol = Util.eol
- let key_re = /[A-Za-z0-9_]+(\[[0-9]+\])?/
+ let key_re = /[A-Za-z0-9_]+(\[[0-9]+\])?/ - "unset" - "export"
let eq = Util.del_str "="
let comment = [ del /(#.*)?[ \t]*\n/ "# \n" ]
@@ -29,7 +29,10 @@ module Shellvars =
let empty_array = /\([ \t]*\)/ in
store (char* | dquot | squot | empty_array)
- let kv = [ key key_re . eq . (simple_value | array) . eol ]
+ let export = [ key "export" . Util.del_ws_spc ]
+ let kv = [ export? . key key_re . eq . (simple_value | array) . eol ]
+
+ let unset = [ key "unset" . Util.del_ws_spc . store key_re . eol ]
let source =
[
@@ -37,7 +40,7 @@ module Shellvars =
Util.del_ws_spc . store /[^= \t\n]+/ . eol
]
- let lns = (comment | source | kv) *
+ let lns = (comment | source | kv | unset) *
let sc_incl (n:string) = (incl ("/etc/sysconfig/" . n))
let filter_sysconfig =
diff --git a/lenses/tests/test_shellvars.aug b/lenses/tests/test_shellvars.aug
index b0673e6..b27f160 100644
--- a/lenses/tests/test_shellvars.aug
+++ b/lenses/tests/test_shellvars.aug
@@ -6,11 +6,11 @@ DEVICE=eth0
BOOTPROTO=static
BROADCAST=172.31.0.255
HWADDR=ab:cd:ef:12:34:56
-IPADDR=172.31.0.31
+export IPADDR=172.31.0.31
#DHCP_HOSTNAME=host.example.com
NETMASK=255.255.255.0
NETWORK=172.31.0.0
-ONBOOT=yes
+unset ONBOOT
"
let empty_val = "EMPTY=\nDEVICE=eth0\n"
@@ -22,11 +22,12 @@ ONBOOT=yes
{ "BOOTPROTO" = "static" }
{ "BROADCAST" = "172.31.0.255" }
{ "HWADDR" = "ab:cd:ef:12:34:56" }
- { "IPADDR" = "172.31.0.31" }
+ { "IPADDR" = "172.31.0.31"
+ { "export" } }
{ }
{ "NETMASK" = "255.255.255.0" }
{ "NETWORK" = "172.31.0.0" }
- { "ONBOOT" = "yes" }
+ { "unset" = "ONBOOT" }
test Shellvars.lns put eth_static after
set "BOOTPROTO" "dhcp" ;
@@ -39,7 +40,7 @@ DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=ab:cd:ef:12:34:56
#DHCP_HOSTNAME=host.example.com
-ONBOOT=yes
+unset ONBOOT
"
test Shellvars.lns get empty_val =
{ "EMPTY" = "" } { "DEVICE" = "eth0" }
--
1.5.6.3
More information about the augeas-devel
mailing list