Date: Wed, 21 Aug 2002 09:52:52 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: nbm@mithrandr.moria.org Cc: rizzo@icir.org, arch@FreeBSD.ORG Subject: Re: ugliness in rc.* scripts Message-ID: <20020821.095252.61131232.imp@bsdimp.com> In-Reply-To: <20020821074819.GA58163@mithrandr.moria.org> References: <20020820232538.A53816@iguana.icir.org> <20020821074819.GA58163@mithrandr.moria.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20020821074819.GA58163@mithrandr.moria.org> Neil Blakey-Milner <nbm@mithrandr.moria.org> writes: : On Tue 2002-08-20 (23:25), Luigi Rizzo wrote: : > Hi, : > in various rc.* scripts we have multiple instances of : > constructs like this: : > : > case ${some_config_variable} in : > [Mm][Ii][Xx][Ed]_[Cc][Aa][Ss][Ee]_[Ss][Tt][Rr][Ii][Nn][Gg]) : > .... : > : > which is not the most desirable thing in terms of readability. : > This would be easily fixed by moving /usr/bin/tr to /bin/tr (statically : > linked) and doing : > : > tolower() { : > echo `tr A-Z a-z <<_EOF : > $*` : > } : > : > case `tolower ${some_config_variable}` in : > mixed_case_string) : > ... : > : > : > (btw, i am not sure why, in the above example the _EOF delimited : > is not required nor i can find any place to put it without being : > processed as stdin. Perhaps a bug in /bin/sh ?) : > : > Anyways, should we go for this ? I believe our scripts would be : > greatly improved. : : I believe the argument for 'case' and those mixed case strings is that : it doesn't spawn a process, whereas "if [ " did at the time. Using : 'echo' and 'tr' and two ``'s will spawn four shells (or something like : that). Why not just have case -i ${some_config_variable} in to do the case folding. This would be a backwards compatible extension: The syntax of the case command is case word in pattern) list ;; ... esac where word is singular, not plural (like in the for loop syntax). Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020821.095252.61131232.imp>