From owner-freebsd-rc@FreeBSD.ORG Sun Jan 9 09:15:51 2011 Return-Path: Delivered-To: freebsd-rc@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8CCE106564A; Sun, 9 Jan 2011 09:15:51 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 9FFF58FC13; Sun, 9 Jan 2011 09:15:51 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p099Fp6Z003858; Sun, 9 Jan 2011 09:15:51 GMT (envelope-from jh@freefall.freebsd.org) Received: (from jh@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p099FpZe003854; Sun, 9 Jan 2011 09:15:51 GMT (envelope-from jh) Date: Sun, 9 Jan 2011 09:15:51 GMT Message-Id: <201101090915.p099FpZe003854@freefall.freebsd.org> To: jh@FreeBSD.org, freebsd-rc@FreeBSD.org, jh@FreeBSD.org From: jh@FreeBSD.org Cc: Subject: Re: conf/153655: [rc.d][patch] substitute nfs4 with newnfs in netfs_types X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion related to /etc/rc.d design and implementation." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Jan 2011 09:15:51 -0000 Synopsis: [rc.d][patch] substitute nfs4 with newnfs in netfs_types Responsible-Changed-From-To: freebsd-rc->jh Responsible-Changed-By: jh Responsible-Changed-When: Sun Jan 9 09:15:50 UTC 2011 Responsible-Changed-Why: Take. http://www.freebsd.org/cgi/query-pr.cgi?pr=153655 From owner-freebsd-rc@FreeBSD.ORG Mon Jan 10 11:07:10 2011 Return-Path: Delivered-To: freebsd-rc@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F3FC10656D1 for ; Mon, 10 Jan 2011 11:07:10 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 1260A8FC0A for ; Mon, 10 Jan 2011 11:07:10 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p0AB79OX001869 for ; Mon, 10 Jan 2011 11:07:09 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p0AB79Kn001867 for freebsd-rc@FreeBSD.org; Mon, 10 Jan 2011 11:07:09 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 10 Jan 2011 11:07:09 GMT Message-Id: <201101101107.p0AB79Kn001867@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-rc@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-rc@FreeBSD.org X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion related to /etc/rc.d design and implementation." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Jan 2011 11:07:10 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o conf/153666 rc [rc.d][patch] mount filesystems from fstab over zfs da o conf/153200 rc post-boot /etc/rc.d/network_ipv6 start can miss neighb o conf/153123 rc [rc] [patch] add gsched rc file to automatically inser o conf/152784 rc services provide himself instead providing class of se o conf/151063 rc [rc.subr] Verify network link and packet flow before s o conf/150752 rc [rc.subr] [patch] be not needed to eval $_pidcmd on re o conf/150474 rc [patch] rc.d/accounting: Add ability to set location o o conf/149867 rc [PATCH] rc.d script to manage multiple FIBS (kern opti o conf/149831 rc [PATCH] add support to /etc/rc.d/jail for delegating Z o conf/148656 rc rc.firewall(8): {oip} and {iip} variables in rc.firewa o conf/147685 rc [rc.d] [patch] new feature for /etc/rc.d/fsck o conf/147444 rc [rc.d] [patch] /etc/rc.d/zfs stop not called on reboot o conf/146053 rc [patch] [request] shutdown of jails breaks inter-jail o conf/145445 rc [rc.d] error in /etc/rc.d/jail (bad logic) o conf/145440 rc [rc.d] [patch] add multiple fib support (setfib) in /e o conf/145399 rc [patch] rc.d scripts are unable to start/stop programs o conf/145344 rc [patch] Fix kitchen sink approach for rc.d scripts ins o conf/145009 rc [patch] rc.subr(8): rc.conf should allow mac label con o conf/144213 rc [rc.d] [patch] Disappearing zvols on reboot o conf/143637 rc [patch] ntpdate(8) support for ntp-servers supplied by o conf/143085 rc [patch] ftp-proxy(8) rc(8) with multiple instances o conf/143084 rc [jail] [patch]: fix rc.d/jail creating stray softlinks o conf/142973 rc [jail] [patch] Strange counter init value in jail rc o conf/142434 rc [patch] Add cpuset(1) support to rc.subr(8) o conf/142304 rc rc.conf(5): mdconfig and mdconfig2 rc.d scripts lack e o conf/141909 rc rc.subr(8): [patch] add rc.conf.d support to /usr/loca o conf/141907 rc [rc.d] Bug if mtu (maybe others?) is set as first argu o conf/141678 rc [patch] A minor enhancement to how /etc/rc.d/jail dete o conf/141275 rc [request] dhclient(8) rc script should print something o conf/140440 rc [patch] allow local command files in rc.{suspend,resum o conf/140261 rc [patch] Improve flexibility of mdconfig2 startup scrip o conf/138208 rc [rc.d] [patch] Making rc.firewall (workstation) IPv6 a o conf/137629 rc [rc.d] background_dhclient rc.conf option causing doub o conf/137470 rc [PATCH] /etc/rc.d/mdconfig2 : prioritize cli parameter o conf/137271 rc [rc.d] Cannot update /etc/host.conf when root filesyst o conf/136875 rc [request] _flags appending o conf/136624 rc [rc.d] sysctl variables for ipnat are not applied on b o conf/135338 rc [rc.d] pf startup order seems broken [regression] o conf/134918 rc [patch] rc.subr fails to detect perl daemons o conf/134660 rc [patch] rc-script for initializing ng_netflow+ng_ipfw o conf/134333 rc PPP configuration problem in the rc.d scripts in combi o conf/134006 rc [patch] Unload console screensaver kernel modules if s o conf/133987 rc [rc.d] defaultroute broken with DHCP in some cases o conf/133890 rc [patch] sshd(8): add multiple profiles to the rc.d scr o conf/132483 rc rc.subr(8) [patch] setfib(1) support for rc.subr o conf/132476 rc [rc.d] [patch] add support setfib(1) in rc.d/routing o conf/128299 rc [patch] /etc/rc.d/geli does not mount partitions using o bin/126562 rc rcorder(8) fails to run unrelated startup scripts when o conf/126392 rc [patch] rc.conf ifconfig_xx keywords cannot be escaped p bin/126324 rc [patch] rc.d/tmp: Prevent mounting /tmp in second tim o conf/124747 rc [patch] savecore can't create dump from encrypted swap o conf/124248 rc [jail] [patch] add support for nice value for rc.d/jai o conf/123734 rc [patch] Chipset VIA CX700 requires extra initializatio o conf/123222 rc [patch] Add rtprio(1)/idprio(1) support to rc.subr(8). o conf/122968 rc [rc.d] /etc/rc.d/addswap: md swapfile multiplication a o conf/122477 rc [patch] /etc/rc.d/mdconfig and mdconfig2 are ignoring o conf/122170 rc [patch] [request] New feature: notify admin via page o o kern/121566 rc [nfs] [request] [patch] ethernet iface should be broug o conf/120431 rc [patch] devfs.rules are not initialized under certain o conf/120406 rc [devd] [patch] Handle newly attached pcm devices (eg. o conf/119874 rc [patch] "/etc/rc.d/pf reload" fails if there are macro o conf/119076 rc [patch] [rc.d] /etc/rc.d/netif tries to remove alias a o bin/118325 rc [patch] [request] new periodic script to test statuses o conf/118255 rc savecore never finding kernel core dumps (rcorder prob o conf/117935 rc [patch] ppp fails to start at boot because of missing o conf/113915 rc [patch] ndis wireless driver fails to associate when i o conf/109980 rc /etc/rc.d/netif restart doesn't destroy cloned_interfa o conf/109562 rc [rc.d] [patch] [request] Make rc.d/devfs usable from c o conf/108589 rc rtsol(8) fails due to default ipfw rules o conf/106009 rc [ppp] [patch] [request] Fix pppoed startup script to p o conf/105689 rc [ppp] [request] syslogd starts too late at boot o conf/105568 rc [patch] [request] Add more flexibility to rc.conf, to o conf/105145 rc [ppp] [patch] [request] add redial function to rc.d/pp o conf/104549 rc [patch] rc.d/nfsd needs special _find_processes functi o conf/102700 rc [geli] [patch] Add encrypted /tmp support to GELI/GBDE o conf/99721 rc [patch] /etc/rc.initdiskless problem copy dotfile in s o conf/99444 rc [patch] Enhancement: rc.subr could easily support star o conf/96343 rc [patch] rc.d order change to start inet6 before pf o conf/93815 rc [patch] Adds in the ability to save ipfw rules to rc.d o conf/92523 rc [patch] allow rc scripts to kill process after a timeo o conf/89870 rc [patch] [request] make netif verbose rc.conf toggle o conf/89061 rc [patch] IPv6 6to4 auto-configuration enhancement o conf/88913 rc [patch] wrapper support for rc.subr o conf/85819 rc [patch] script allowing multiuser mode in spite of fsc o kern/81006 rc ipnat not working with tunnel interfaces on startup o conf/77663 rc Suggestion: add /etc/rc.d/addnetswap after addcritremo o conf/73677 rc [patch] add support for powernow states to power_profi o conf/58939 rc [patch] dumb little hack for /etc/rc.firewall{,6} o conf/56934 rc [patch] rc.firewall rules for natd expect an interface o conf/45226 rc [patch] Fix for rc.network, ppp-user annoyance o conf/44170 rc [patch] Add ability to run multiple pppoed(8) on start 91 problems total. From owner-freebsd-rc@FreeBSD.ORG Sat Jan 15 09:12:13 2011 Return-Path: Delivered-To: freebsd-rc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8ABF5106566C for ; Sat, 15 Jan 2011 09:12:13 +0000 (UTC) (envelope-from dteske@vicor.com) Received: from postoffice.vicor.com (postoffice.vicor.com [69.26.56.53]) by mx1.freebsd.org (Postfix) with ESMTP id 6BD6A8FC0C for ; Sat, 15 Jan 2011 09:12:13 +0000 (UTC) Received: from [173.241.25.35] (port=64493 helo=[10.0.0.103]) by postoffice.vicor.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.71) (envelope-from ) id 1Pe1sV-0000f8-BT; Sat, 15 Jan 2011 00:52:59 -0800 Mime-Version: 1.0 (Apple Message framework v1081) From: Devin Teske In-Reply-To: <11FDD7C3-4451-47BD-AE01-58952ACFF586@vicor.com> Date: Sat, 15 Jan 2011 00:52:53 -0800 Message-Id: <2D86857A-DDFA-4F37-B3A5-B7A6418EB327@vicor.com> References: <1286925182.32724.18.camel@localhost.localdomain> <1286996709.32724.60.camel@localhost.localdomain> <1287448781.5713.3.camel@localhost.localdomain> <1287510629.25599.2.camel@localhost.localdomain> <1288746388.7362.4.camel@localhost.localdomain> <17B64023-A64A-40DA-9CBC-A601710AB5BB@vicor.com> <1288919368.7362.35.camel@localhost.localdomain> <11FDD7C3-4451-47BD-AE01-58952ACFF586@vicor.com> To: Devin Teske X-Mailer: Apple Mail (2.1081) X-Scan-Signature: 5bb368c8d7a74e69cea3ca3ef3d40dbd X-Scan-Host: postoffice.vicor.com Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-rc@freebsd.org Subject: Re: sysrc(8) -- a sysctl(8)-like utility for managing rc.conf(5) X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion related to /etc/rc.d design and implementation." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Jan 2011 09:12:13 -0000 On Nov 8, 2010, at 11:23 PM, Devin Teske wrote: >=20 > On Nov 4, 2010, at 6:09 PM, Devin Teske wrote: >=20 >> And now... for the piece de resistance! >>=20 >>> ... >>=20 >> Woohoo... version 3.0! >=20 > 3.1 now. Announcing version 3.2 now. Added `-x' to delete entries from rc.conf(5) files. Works as-expected = with other arguments such as `-f file', `-n', `-N', `-v', `-a', `-A', = etc. I think this version is "feature complete" finally in that you can now = fully manage your rc.conf(5) files without ever opening a text editor = (period). Enjoy! And thanks again for Ross West for pushing me to finish this. (I had = been putting off this last feature) >>>>>>>> Direct links: >>>>>>>> http://druidbsd.sf.net/download/sysrc.gz (download gzipped) >>>>>>>> http://druidbsd.sf.net/download/sysrc.txt (view as text) >=20 >=20 >> And here's that good-ol' unified patch to show what's changed... >=20 --- sysrc.3_1_2 2010-12-09 13:46:20.000000000 -0800 +++ sysrc 2011-01-15 00:38:31.000000000 -0800 @@ -2,11 +2,11 @@ # -*- tab-width: 4 -*- ;; Emacs # vi: set tabstop=3D4 :: Vi/ViM # -# Revision: 3.1.2 -# Last Modified: December 9th, 2010 +# Revision: 3.2 +# Last Modified: January 15th, 2011 ############################################################ COPYRIGHT # -# (c)2010. Devin Teske. All Rights Reserved. +# (c)2010-2011. Devin Teske. All Rights Reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -30,6 +30,8 @@ # SUCH DAMAGE. # # AUTHOR DATE DESCRIPTION +# dteske 2011.01.15 Make `-A' override `-a' despite = order-of-appearance. +# dteske 2011.01.15 Add `-x' to remove variables from file(s). # dteske 2010.12.09 Fix taint-checking to not die on non-existent = files. # dteske 2010.11.09 Minor fixes to sysrc_set/sysrc_set_awk. # dteske 2010.11.08 Further significant performance enhancements. @@ -59,11 +61,12 @@ # -h Print this message to stderr and exit. # -f file Operate on the specified file(s) instead of = rc_conf_files. # Can be specified multiple times for additional files. -# -a Dump a list of non-default configuration variables. +# -a Dump a list of all non-default configuration = variables. # -A Dump a list of all configuration variables (incl. = defaults). +# -x Remove variable(s) from specified file(s). # -d Print a description of the given variable. # -e Print query results as `var=3Dvalue' (useful for = producing -# output to be fed back in). Ignored if -n is = specified. +# output to be fed back in). Ignored if `-n' is = specified. # -v Verbose. Print the pathname of the specific = rc.conf(5) # file where the directive was found. # -i Ignore unknown variables. @@ -122,6 +125,7 @@ # # Options # +DELETE=3D DESCRIBE=3D IGNORE_UNKNOWNS=3D JAIL=3D @@ -198,15 +202,17 @@ eprintf "$optfmt" "" \ "Can be specified multiple times for additional files." eprintf "$optfmt" "-a" \ - "Dump a list of non-default configuration variables." + "Dump a list of all non-default configuration = variables." eprintf "$optfmt" "-A" \ "Dump a list of all configuration variables (incl. = defaults)." + eprintf "$optfmt" "-x" \ + "Remove variable(s) from specified file(s)." eprintf "$optfmt" "-d" \ "Print a description of the given variable." eprintf "$optfmt" "-e" \ "Print query results as \`var=3Dvalue' (useful for = producing" eprintf "$optfmt" "" \ - "output to be fed back in). Ignored if -n is specified." + "output to be fed back in). Ignored if \`-n' is = specified." eprintf "$optfmt" "-v" \ "Verbose. Print the pathname of the specific rc.conf(5)" eprintf "$optfmt" "" \ @@ -647,6 +653,118 @@ awk -v varname=3D"$1" "$sysrc_desc_awk" < "$RC_DEFAULTS" } =20 +# sysrc_delete $varname +# +# Remove a setting from the system configuration files (edits files = in-place). +# Deletes all assignments to the given variable in all config files. If = the +# `-f file' option is passed, the removal is restricted to only those = files +# specified, otherwise the system collection of rc_conf_files is used. +# +# This function is a two-parter. Below is the awk(1) portion of the = function, +# afterward is the sh(1) function which utilizes the below awk script. +# +sysrc_delete_awk=3D' +# Variables that should be defined on the invocation line: +# -v varname=3D"varname" +# +BEGIN { + regex =3D "^[[:space:]]*"varname"=3D" + found =3D 0 +} +{ + if ( $0 ~ regex ) + found =3D 1 + else + print +} +END { exit ! found } +' +sysrc_delete() +{ + local varname=3D"$1" + local file + + # Check arguments + [ "$varname" ] || return $FAILURE + + # + # Operate on each of the specified files + # + for file in ${RC_CONFS:-$( sysrc_get rc_conf_files )}; do + # + # Create a new temporary file to write to. + # + local tmpfile=3D"$( mktemp -t "$progname" )" + [ "$tmpfile" ] || return $FAILURE + + # + # Fixup permissions and ownership (mktemp(1) defaults to = 0600 + # permissions) to instead match the destination file. + # + chmod "$( stat -f '%#Lp' "$file" )" "$tmpfile" 2> = /dev/null + chmod "$( stat -f '%u:%g' "$file" )" "$tmpfile" 2> = /dev/null + + # + # Operate on the file, removing all occurrences, saving = the + # output in our temporary file. + # + awk -v varname=3D"$varname" "$sysrc_delete_awk" "$file" = \ + > "$tmpfile" + if [ $? -ne $SUCCESS ]; then + # The file didn't contain any assignments + rm -f "$tmpfile" + continue + fi + + # + # Taint-check our results. + # + if ! /bin/sh -n "$tmpfile"; then + eprintf "%s: Not overwriting \`%s' due to %s\n" = \ + "$progname" "$file" "previous syntax = errors" + rm -f "$tmpfile" + continue + fi + + # + # Perform sanity checks + # + if [ ! -w "$file" ]; then + eprintf "%s: %s: Permission denied\n" \ + "$progname" "$file" + rm -f "$tmpfile" + continue + fi + + # + # If verbose, now's the time to show it. + #=20 + if [ "$SYSRC_VERBOSE" ]; then + echo -n "$file: " + + # + # If `-N' is passed, simplify the output + # + if [ ! "$SHOW_VALUE" ]; then + echo "$NAME" + continue + fi + + echo -n "${SHOW_NAME:+$NAME$SEP}" + ( # Operate in sub-shell to protect parent = environment + . "$file" 2> /dev/null + eval echo -n '"${'"$NAME"'}"' 2> = /dev/null + ) + echo "${SHOW_EQUALS:+\"}" + fi + + # + # Finally, move the temporary file into place. + # + mv "$tmpfile" "$file" + done +} + ############################################################ MAIN = SOURCE =20 # @@ -657,14 +775,16 @@ # # Process command-line options # -while getopts hf:aAdevinNR:j: flag; do +while getopts hf:aAxXdevinNR:j: flag; do case "$flag" in h) usage;; f) [ "$OPTARG" ] || die \ "%s: Missing or null argument to \`-f' flag" "$progname" RC_CONFS=3D"$RC_CONFS${RC_CONFS:+ }$OPTARG";; - a) SHOW_ALL=3D1;; + a) SHOW_ALL=3D${SHOW_ALL:-1};; A) SHOW_ALL=3D2;; + x) DELETE=3D${DELETE:-1};; + X) DELETE=3D2;; d) DESCRIBE=3D1;; e) SHOW_EQUALS=3D1;; v) SYSRC_VERBOSE=3D1;; @@ -696,6 +816,15 @@ ) || die "$errmsg" =20 # +# Process `-x' (and secret `-X') command-line options +# +errmsg=3D"$progname: \`-x' option incompatible with \`-a'/\`-A' = options" +errmsg=3D"$errmsg (use \`-X' to override)" +if [ "$DELETE" -a "$SHOW_ALL" ]; then + [ "$DELETE" =3D "2" ] || die "$errmsg" +fi + +# # Process `-e', `-n', and `-N' command-line options # SEP=3D': ' @@ -717,6 +846,8 @@ args=3D" ${SYSRC_VERBOSE:+-v} ${RC_CONFS:+-f'$RC_CONFS'} + $( [ "$DELETE" =3D "1" ] && echo \ -x ) + $( [ "$DELETE" =3D "2" ] && echo \ -X ) $( [ "$SHOW_ALL" =3D "1" ] && echo \ -a ) $( [ "$SHOW_ALL" =3D "2" ] && echo \ -A ) ${DESCRIBE:+-d} @@ -820,8 +951,10 @@ # IFS=3D"$IFS|" EXCEPT=3D"IFS|EXCEPT|PATH|RC_DEFAULTS|OPTIND|DESCRIBE|SEP"= - = EXCEPT=3D"$EXCEPT|SHOW_ALL|SHOW_EQUALS|SHOW_NAME|SHOW_VALUE" - EXCEPT=3D"$EXCEPT|SYSRC_VERBOSE|RC_CONFS|sysrc_desc_awk" + EXCEPT=3D"$EXCEPT|DELETE|SHOW_ALL|SHOW_EQUALS|SHOW_NAME" + EXCEPT=3D"$EXCEPT|SHOW_VALUE|SYSRC_VERBOSE|RC_CONFS" + = EXCEPT=3D"$EXCEPT|progname|sysrc_desc_awk|sysrc_delete_awk" + EXCEPT=3D"$EXCEPT|SUCCESS|FAILURE" =20 # # Clean the environment (except for our required = variables) @@ -870,6 +1003,14 @@ continue fi =20 + # + # If `-X' is passed, delete the variables + # + if [ "$DELETE" =3D "2" ]; then + sysrc_delete "$NAME" + continue + fi + [ "$SYSRC_VERBOSE" ] && \ echo -n "$( sysrc_find "$NAME" ): " =20 @@ -883,6 +1024,7 @@ =20 echo "${SHOW_NAME:+$NAME$SEP}$( sysrc_get "$NAME" )${SHOW_EQUALS:+\"}" + done ) =20 @@ -916,6 +1058,16 @@ fi =20 # + # If `-x' or `-X' is passed, delete the variable and = ignore the + # desire to set some value + # + if [ "$DELETE" ]; then + sysrc_delete "$NAME" + shift 1 + continue + fi + + # # If `-N' is passed, simplify the output # if [ ! "$SHOW_VALUE" ]; then @@ -948,6 +1100,15 @@ continue fi =20 + # + # If `-x' or `-X' is passed, delete the variable + # + if [ "$DELETE" ]; then + sysrc_delete "$NAME" + shift 1 + continue + fi + [ "$SYSRC_VERBOSE" ] && \ echo -n "$( sysrc_find "$NAME" ): " =20 -- Cheers, Devin Teske -> CONTACT INFORMATION <- Business Solutions Consultant II FIS - fisglobal.com 510-735-5650 Mobile 510-621-2038 Office 510-621-2020 Office Fax 909-477-4578 Home/Fax devin.teske@fisglobal.com -> LEGAL DISCLAIMER <- This message contains confidential and proprietary information of the sender, and is intended only for the person(s) to whom it is addressed. Any use, distribution, copying or disclosure by any other person is strictly prohibited. If you have received this message in error, please notify the e-mail sender immediately, and delete the original message without making a copy. -> FUN STUFF <- -----BEGIN GEEK CODE BLOCK----- Version 3.1 GAT/CS d(+) s: a- C++(++++) UB++++$ P++(++++) L++(++++) !E--- W++ N? o? = K- w O M+ V- PS+ PE Y+ PGP- t(+) 5? X+(++) R>++ tv(+) b+(++) DI+(++) D(+) G+>++ = e>+ h r>++ y+=20 ------END GEEK CODE BLOCK------ http://www.geekcode.com/ -> END TRANSMISSION <-