/usr/share/augeas/lenses/dist
NameSizeModeActions
tests/-0755rm
access.aug36690644editdlrm
activemq_conf.aug15090644editdlrm
activemq_xml.aug8640644editdlrm
afs_cellalias.aug16020644editdlrm
aliases.aug22310644editdlrm
anaconda.aug7750644editdlrm
anacron.aug25450644editdlrm
approx.aug12860644editdlrm
aptcacherngsecurity.aug7260644editdlrm
aptconf.aug39890644editdlrm
aptpreferences.aug18310644editdlrm
aptsources.aug20230644editdlrm
apt_update_manager.aug11350644editdlrm
authinfo2.aug14760644editdlrm
authorized_keys.aug18830644editdlrm
authselectpam.aug37840644editdlrm
automaster.aug33910644editdlrm
automounter.aug41480644editdlrm
avahi.aug14170644editdlrm
backuppchosts.aug10140644editdlrm
bbhosts.aug43420644editdlrm
bootconf.aug37360644editdlrm
build.aug170450644editdlrm
cachefilesd.aug20510644editdlrm
carbon.aug15740644editdlrm
ceph.aug7190644editdlrm
cgconfig.aug34470644editdlrm
cgrules.aug24320644editdlrm
channels.aug39290644editdlrm
chrony.aug139820644editdlrm
clamav.aug17160644editdlrm
cmdline.aug5000644editdlrm
cobblermodules.aug3980644editdlrm
cobblersettings.aug22950644editdlrm
collectd.aug8690644editdlrm
cpanel.aug8240644editdlrm
cron.aug41430644editdlrm
cron_user.aug12900644editdlrm
crypttab.aug31510644editdlrm
csv.aug12120644editdlrm
cups.aug4590644editdlrm
cyrus_imapd.aug15460644editdlrm
darkice.aug7730644editdlrm
debctrl.aug37010644editdlrm
desktop.aug14220644editdlrm
devfsrules.aug6190644editdlrm
device_map.aug6200644editdlrm
dhclient.aug68500644editdlrm
dhcpd.aug213790644editdlrm
dnsmasq.aug22090644editdlrm
dns_zone.aug29630644editdlrm
dovecot.aug40730644editdlrm
dpkg.aug28510644editdlrm
dput.aug22130644editdlrm
erlang.aug44320644editdlrm
ethers.aug6630644editdlrm
exports.aug24240644editdlrm
fail2ban.aug18350644editdlrm
fai_diskconfig.aug95020644editdlrm
fonts.aug8190644editdlrm
fstab.aug12570644editdlrm
fuse.aug8710644editdlrm
gdm.aug18410644editdlrm
getcap.aug16100644editdlrm
group.aug17030644editdlrm
grub.aug113110644editdlrm
grubenv.aug5080644editdlrm
gshadow.aug22400644editdlrm
gtkbookmarks.aug8550644editdlrm
hostname.aug4350644editdlrm
hosts.aug4850644editdlrm
hosts_access.aug44260644editdlrm
host_conf.aug19410644editdlrm
htpasswd.aug10430644editdlrm
httpd.aug75270644editdlrm
inetd.aug63650644editdlrm
inifile.aug158590644editdlrm
inittab.aug7800644editdlrm
inputrc.aug16620644editdlrm
interfaces.aug47330644editdlrm
iproute2.aug3230644editdlrm
iptables.aug27030644editdlrm
iscsid.aug6840644editdlrm
jaas.aug16120644editdlrm
jettyrealm.aug15520644editdlrm
jmxaccess.aug13860644editdlrm
jmxpassword.aug13750644editdlrm
json.aug21980644editdlrm
kdump.aug29770644editdlrm
keepalived.aug109580644editdlrm
known_hosts.aug19790644editdlrm
koji.aug8980644editdlrm
krb5.aug71490644editdlrm
ldif.aug78330644editdlrm
ldso.aug10850644editdlrm
lightdm.aug17930644editdlrm
limits.aug20660644editdlrm
login_defs.aug6150644editdlrm
logrotate.aug43330644editdlrm
logwatch.aug14730644editdlrm
lokkit.aug22160644editdlrm
lvm.aug20790644editdlrm
mailscanner.aug16990644editdlrm
mailscanner_rules.aug29110644editdlrm
masterpasswd.aug44680644editdlrm
mcollective.aug11120644editdlrm
mdadm_conf.aug102890644editdlrm
memcached.aug12720644editdlrm
mke2fs.aug64360644editdlrm
modprobe.aug34200644editdlrm
modules.aug7410644editdlrm
modules_conf.aug10680644editdlrm
mongodbserver.aug12010644editdlrm
monit.aug21820644editdlrm
multipath.aug43110644editdlrm
mysql.aug19940644editdlrm
nagioscfg.aug21380644editdlrm
nagiosobjects.aug16040644editdlrm
netmasks.aug17320644editdlrm
networkmanager.aug22330644editdlrm
networks.aug11160644editdlrm
nginx.aug37400644editdlrm
nrpe.aug18270644editdlrm
nslcd.aug101110644editdlrm
nsswitch.aug23860644editdlrm
ntp.aug54190644editdlrm
ntpd.aug48610644editdlrm
odbc.aug14500644editdlrm
opendkim.aug31740644editdlrm
openshift_config.aug25240644editdlrm
openshift_http.aug10520644editdlrm
openshift_quickstarts.aug10440644editdlrm
openvpn.aug228170644editdlrm
oz.aug13840644editdlrm
pagekite.aug26630644editdlrm
pam.aug26370644editdlrm
pamconf.aug12560644editdlrm
passwd.aug36090644editdlrm
pbuilder.aug6380644editdlrm
pgbouncer.aug14620644editdlrm
pg_hba.aug30430644editdlrm
php.aug23930644editdlrm
phpvars.aug39470644editdlrm
postfix_access.aug7710644editdlrm
postfix_main.aug15550644editdlrm
postfix_master.aug19500644editdlrm
postfix_passwordmap.aug13120644editdlrm
postfix_sasl_smtpd.aug6970644editdlrm
postfix_transport.aug15140644editdlrm
postfix_virtual.aug13470644editdlrm
postgresql.aug21520644editdlrm
properties.aug23570644editdlrm
protocols.aug10800644editdlrm
puppet.aug15580644editdlrm
puppetfile.aug23270644editdlrm
puppetfileserver.aug31900644editdlrm
puppet_auth.aug20010644editdlrm
pylonspaste.aug23590644editdlrm
pythonpaste.aug20350644editdlrm
qpid.aug6700644editdlrm
quote.aug68710644editdlrm
rabbitmq.aug48040644editdlrm
radicale.aug15180644editdlrm
rancid.aug9270644editdlrm
redis.aug64390644editdlrm
reprepro_uploaders.aug56040644editdlrm
resolv.aug40820644editdlrm
rhsm.aug11300644editdlrm
rmt.aug7880644editdlrm
rsyncd.aug20170644editdlrm
rsyslog.aug33440644editdlrm
rtadvd.aug8540644editdlrm
rx.aug43030644editdlrm
samba.aug17550644editdlrm
schroot.aug18320644editdlrm
securetty.aug4500644editdlrm
semanage.aug8590644editdlrm
sep.aug13060644editdlrm
services.aug28870644editdlrm
shadow.aug24040644editdlrm
shells.aug7450644editdlrm
shellvars.aug123110644editdlrm
shellvars_list.aug17790644editdlrm
simplelines.aug11550644editdlrm
simplevars.aug14380644editdlrm
sip_conf.aug16510644editdlrm
slapd.aug53270644editdlrm
smbusers.aug7810644editdlrm
solaris_system.aug32280644editdlrm
soma.aug11670644editdlrm
spacevars.aug14490644editdlrm
splunk.aug16770644editdlrm
squid.aug163300644editdlrm
ssh.aug44930644editdlrm
sshd.aug42480644editdlrm
sssd.aug8610644editdlrm
star.aug9410644editdlrm
strongswan.aug16710644editdlrm
stunnel.aug22600644editdlrm
subversion.aug28170644editdlrm
sudoers.aug205570644editdlrm
sysconfig.aug25500644editdlrm
sysconfig_route.aug26150644editdlrm
sysctl.aug9230644editdlrm
syslog.aug75010644editdlrm
systemd.aug61540644editdlrm
termcap.aug10500644editdlrm
thttpd.aug13450644editdlrm
tinc.aug11030644editdlrm
tmpfiles.aug31570644editdlrm
toml.aug41750644editdlrm
trapperkeeper.aug41100644editdlrm
tuned.aug3870644editdlrm
up2date.aug22640644editdlrm
updatedb.aug11590644editdlrm
util.aug49630644editdlrm
vfstab.aug17560644editdlrm
vmware_config.aug7020644editdlrm
vsftpd.aug27850644editdlrm
webmin.aug12570644editdlrm
wine.aug19660644editdlrm
xendconfsxp.aug10970644editdlrm
xinetd.aug41200644editdlrm
xml.aug64810644editdlrm
xorg.aug106790644editdlrm
xymon.aug23140644editdlrm
xymon_alerting.aug62590644editdlrm
yaml.aug15810644editdlrm
yum.aug22400644editdlrm
Edit: /usr/share/augeas/lenses/dist/shellvars.aug (12311B)
(* Module: Shellvars Generic lens for shell-script config files like the ones found in /etc/sysconfig About: License This file is licenced under the LGPL v2+, like the rest of Augeas. About: Lens Usage To be documented *) module Shellvars = autoload xfm (* Delete a blank line, rather than mapping it *) let del_empty = del (Util.empty_generic_re . "\n") "\n" let empty = Util.empty let empty_part_re = Util.empty_generic_re . /\n+/ let eol = del (/[ \t]+|[ \t]*[;\n]/ . empty_part_re*) "\n" let semicol_eol = del (/[ \t]*[;\n]/ . empty_part_re*) "\n" let brace_eol = del /[ \t\n]+/ "\n" let key_re = /[A-Za-z0-9_][-A-Za-z0-9_]*(\[[0-9A-Za-z_,]+\])?/ - ("unset" | "export") let matching_re = "${!" . key_re . /[\*@]\}/ let eq = Util.del_str "=" let eol_for_comment = del /([ \t]*\n)([ \t]*(#[ \t]*)?\n)*/ "\n" let comment = Util.comment_generic_seteol /[ \t]*#[ \t]*/ " # " eol_for_comment (* comment_eol in shell MUST begin with a space *) let comment_eol = Util.comment_generic_seteol /[ \t]+#[ \t]*/ " # " eol_for_comment let comment_or_eol = comment_eol | semicol_eol let xchgs = Build.xchgs let semicol = del /;?/ "" let char = /[^`;()'"&|\n\\# \t]#*|\\\\./ let dquot = let char = /[^"\\]|\\\\./ | Rx.cl in "\"" . char* . "\"" (* " Emacs, relax *) let squot = /'[^']*'/ let bquot = /`[^`\n]+`/ (* dbquot don't take spaces or semi-colons *) let dbquot = /``[^` \t\n;]+``/ let dollar_assign = /\$\([^\(\)#\n]*\)/ let dollar_arithm = /\$\(\([^\)#\n]*\)\)/ let anyquot = (char|dquot|squot|dollar_assign|dollar_arithm)+ | bquot | dbquot let sto_to_semicol = store (anyquot . (Rx.cl_or_space . anyquot)*) (* Array values of the form '(val1 val2 val3)'. We do not handle empty *) (* arrays here because of typechecking headaches. Instead, they are *) (* treated as a simple value *) let array = let array_value = store anyquot in del /\([ \t]*/ "(" . counter "values" . [ seq "values" . array_value ] . [ del /[ \t\n]+/ " " . seq "values" . array_value ] * . del /[ \t]*\)/ ")" (* Treat an empty list () as a value '()'; that's not quite correct *) (* but fairly close. *) let simple_value = let empty_array = /\([ \t]*\)/ in store (anyquot | empty_array)? let export = [ key "export" . Util.del_ws_spc ] let kv = Util.indent . export? . key key_re . eq . (simple_value | array) let var_action (name:string) = Util.indent . del name name . Util.del_ws_spc . label ("@" . name) . counter "var_action" . Build.opt_list [ seq "var_action" . store (key_re | matching_re) ] Util.del_ws_spc let unset = var_action "unset" let bare_export = var_action "export" let source = Util.indent . del /\.|source/ "." . label ".source" . Util.del_ws_spc . store /[^;=# \t\n]+/ let shell_builtin_cmds = "ulimit" | "shift" | "exit" let eval = Util.indent . Util.del_str "eval" . Util.del_ws_spc . label "@eval" . store anyquot let alias = Util.indent . Util.del_str "alias" . Util.del_ws_spc . label "@alias" . store key_re . eq . [ label "value" . store anyquot ] let builtin = Util.indent . label "@builtin" . store shell_builtin_cmds . (Sep.cl_or_space . [ label "args" . sto_to_semicol ])? let keyword (kw:string) = Util.indent . Util.del_str kw let keyword_label (kw:string) (lbl:string) = keyword kw . label lbl let return = Util.indent . label "@return" . Util.del_str "return" . ( Util.del_ws_spc . store Rx.integer )? let action (operator:string) (lbl:string) (sto:lens) = let sp = Rx.cl_or_opt_space | /[ \t\n]+/ in [ del (sp . operator . sp) (" " . operator . " ") . label ("@".lbl) . sto ] let action_pipe = action "|" "pipe" let action_and = action "&&" "and" let action_or = action "||" "or" let condition = let cond (start:string) (end:string) = [ label "type" . store start ] . Util.del_ws_spc . sto_to_semicol . Util.del_ws_spc . Util.del_str end . ( action_and sto_to_semicol | action_or sto_to_semicol )* in Util.indent . label "@condition" . (cond "[" "]" | cond "[[" "]]") (* Entry types *) let entry_eol_item (item:lens) = [ item . comment_or_eol ] let entry_item (item:lens) = [ item ] let entry_eol_nocommand = entry_eol_item source | entry_eol_item kv | entry_eol_item unset | entry_eol_item bare_export | entry_eol_item builtin | entry_eol_item return | entry_eol_item condition | entry_eol_item eval | entry_eol_item alias let entry_noeol_nocommand = entry_item source | entry_item kv | entry_item unset | entry_item bare_export | entry_item builtin | entry_item return | entry_item condition | entry_item eval | entry_item alias (* Command *) let rec command = let env = [ key key_re . eq . store anyquot . Sep.cl_or_space ] in let reserved_key = /exit|shift|return|ulimit|unset|export|source|\.|if|for|select|while|until|then|else|fi|done|case|eval|alias/ in let word = /\$?[-A-Za-z0-9_.\/]+/ in let entry_eol = entry_eol_nocommand | entry_eol_item command in let entry_noeol = entry_noeol_nocommand | entry_item command in let entry = entry_eol | entry_noeol in let pipe = action_pipe (entry_eol_item command | entry_item command) in let and = action_and entry in let or = action_or entry in Util.indent . label "@command" . env* . store (word - reserved_key) . [ Sep.cl_or_space . label "@arg" . sto_to_semicol]? . ( pipe | and | or )? let entry_eol = entry_eol_nocommand | entry_eol_item command let entry_noeol = entry_noeol_nocommand | entry_item command (************************************************************************ * Group: CONDITIONALS AND LOOPS *************************************************************************) let generic_cond_start (start_kw:string) (lbl:string) (then_kw:string) (contents:lens) = keyword_label start_kw lbl . Sep.space . sto_to_semicol . ( action_and sto_to_semicol | action_or sto_to_semicol )* . semicol_eol . keyword then_kw . eol . contents let generic_cond (start_kw:string) (lbl:string) (then_kw:string) (contents:lens) (end_kw:string) = [ generic_cond_start start_kw lbl then_kw contents . keyword end_kw . comment_or_eol ] let cond_if (entry:lens) = let elif = [ generic_cond_start "elif" "@elif" "then" entry+ ] in let else = [ keyword_label "else" "@else" . eol . entry+ ] in generic_cond "if" "@if" "then" (entry+ . elif* . else?) "fi" let loop_for (entry:lens) = generic_cond "for" "@for" "do" entry+ "done" let loop_while (entry:lens) = generic_cond "while" "@while" "do" entry+ "done" let loop_until (entry:lens) = generic_cond "until" "@until" "do" entry+ "done" let loop_select (entry:lens) = generic_cond "select" "@select" "do" entry+ "done" let case (entry:lens) (entry_noeol:lens) = let pattern = [ label "@pattern" . sto_to_semicol . Sep.opt_space ] in let case_entry = [ label "@case_entry" . Util.indent . pattern . (Util.del_str "|" . Sep.opt_space . pattern)* . Util.del_str ")" . eol . entry* . entry_noeol? . Util.indent . Util.del_str ";;" . eol ] in [ keyword_label "case" "@case" . Sep.space . store (char+ | ("\"" . char+ . "\"")) . del /[ \t\n]+/ " " . Util.del_str "in" . eol . (empty* . comment* . case_entry)* . empty* . comment* . keyword "esac" . comment_or_eol ] let subshell (entry:lens) = [ Util.indent . label "@subshell" . Util.del_str "{" . brace_eol . entry+ . Util.indent . Util.del_str "}" . eol ] let function (entry:lens) (start_kw:string) (end_kw:string) = [ Util.indent . label "@function" . del /(function[ \t]+)?/ "" . store Rx.word . del /[ \t]*\(\)/ "()" . (comment_eol|brace_eol) . Util.del_str start_kw . brace_eol . entry+ . Util.indent . Util.del_str end_kw . eol ] let rec rec_entry = let entry = comment | entry_eol | rec_entry in cond_if entry | loop_for entry | loop_select entry | loop_while entry | loop_until entry | case entry entry_noeol | function entry "{" "}" | function entry "(" ")" | subshell entry let lns_norec = del_empty* . (comment | entry_eol) * let lns = del_empty* . (comment | entry_eol | rec_entry) * let sc_incl (n:string) = (incl ("/etc/sysconfig/" . n)) let sc_excl (n:string) = (excl ("/etc/sysconfig/" . n)) let filter_sysconfig = sc_incl "*" . sc_excl "anaconda" . sc_excl "bootloader" . sc_excl "hw-uuid" . sc_excl "hwconf" . sc_excl "ip*tables" . sc_excl "ip*tables.save" . sc_excl "kernel" . sc_excl "*.pub" . sc_excl "sysstat.ioconf" . sc_excl "system-config-firewall" . sc_excl "system-config-securitylevel" . sc_incl "network/config" . sc_incl "network/dhcp" . sc_incl "network/dhcp6r" . sc_incl "network/dhcp6s" . sc_incl "network/ifcfg-*" . sc_incl "network/if-down.d/*" . sc_incl "network/ifroute-*" . sc_incl "network/if-up.d/*" . sc_excl "network/if-up.d/SuSEfirewall2" . sc_incl "network/providers/*" . sc_excl "network-scripts" . sc_incl "network-scripts/ifcfg-*" . sc_excl "rhn" . sc_incl "rhn/allowed-actions/*" . sc_excl "rhn/allowed-actions/script" . sc_incl "rhn/allowed-actions/script/*" . sc_incl "rhn/rhnsd" . sc_excl "SuSEfirewall2.d" . sc_incl "SuSEfirewall2.d/cobbler" . sc_incl "SuSEfirewall2.d/services/*" . sc_excl "SuSEfirewall2.d/services/TEMPLATE" . sc_excl "*.systemd" let filter_default = incl "/etc/default/*" . excl "/etc/default/grub_installdevice*" . excl "/etc/default/rmt" . excl "/etc/default/star" . excl "/etc/default/whoopsie" . incl "/etc/profile" . incl "/etc/profile.d/*" . excl "/etc/profile.d/*.csh" . excl "/etc/profile.d/*.tcsh" . excl "/etc/profile.d/csh.local" let filter_misc = incl "/etc/arno-iptables-firewall/debconf.cfg" . incl "/etc/conf.d/*" . incl "/etc/cron-apt/config" . incl "/etc/environment" . incl "/etc/firewalld/firewalld.conf" . incl "/etc/blkid.conf" . incl "/etc/adduser.conf" . incl "/etc/cowpoke.conf" . incl "/etc/cvs-cron.conf" . incl "/etc/cvs-pserver.conf" . incl "/etc/devscripts.conf" . incl "/etc/kamailio/kamctlrc" . incl "/etc/lbu/lbu.conf" . incl "/etc/lintianrc" . incl "/etc/lsb-release" . incl "/etc/os-release" . incl "/etc/periodic.conf" . incl "/etc/popularity-contest.conf" . incl "/etc/rc.conf" . incl "/etc/rc.conf.d/*" . incl "/etc/rc.conf.local" . incl "/etc/selinux/config" . incl "/etc/ucf.conf" . incl "/etc/locale.conf" . incl "/etc/vconsole.conf" . incl "/etc/byobu/*" let filter = filter_sysconfig . filter_default . filter_misc . Util.stdexcl let xfm = transform lns filter (* Local Variables: *) (* mode: caml *) (* End: *)