This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: base-files patch (atn: Eric Blake)
- From: Igor Pechtchanski <pechtcha at cs dot nyu dot edu>
- To: Eric Blake <ebb9 at byu dot net>
- Cc: john at morrison dot mine dot nu, cygwin at cygwin dot com
- Date: Wed, 11 May 2005 01:42:24 -0400 (EDT)
- Subject: Re: base-files patch (atn: Eric Blake)
- References: <032520051926.2104.424465D60002AFD30000083822058861720A050E040D0C079D0A@comcast.net> <1492.192.168.0.12.1115538762.squirrel@mail.morrison.mine.nu> <427F5C1C.6050202@byu.net>
- Reply-to: cygwin at cygwin dot com
On Mon, 9 May 2005, Eric Blake wrote:
> According to John Morrison on 5/8/2005 1:52 AM:
> > On Fri, March 25, 2005 8:26 pm, Eric Blake said:
> >
> >>True enough. And that points out another bug - echo "$0" may fail if $0
> >>starts with -, it should be echo -- "$0". Isn't portable shell
> >>programming fun?
> >
> > Sorry that this has taken so long, but I'm just getting around to adding
> > all the fixes emailed wrt /etc/profile. I tried the above, and it broke
> > so I checked the man pages,
>
> Serves me right for thinking that echo was standard when I typed my
> original message, rather than me actually testing at the command line.
> Yes indeed, POSIX requires that echo must interpret -- as a string
> operand, rather than the standard interpretation of being an argument
> separator.
>
> > so, I'm afraid that echo -- "${0}" won't work.
>
> This will work instead:
> case `printf %s "$0" | /usr/bin/tr '[:upper:]' '[:lower:]'` in
> bash | -bash | */bash )
> [..]
Or, of course, the standard "portable scripting" trick:
case "`echo "_$0" | /usr/bin/tr '[:upper:]' '[:lower:]'`" in
_bash | _-bash | _*/bash )
[..]
(or, if you don't mind a slightly longer command:
case "`echo "_$0" | /usr/bin/tr '[:upper:]' '[:lower:]' | /usr/bin/sed '/s/^_//'`" in
bash | -bash | */bash )
[..])
Igor
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha@cs.nyu.edu
ZZZzz /,`.-'`' -. ;-;;,_ igor@watson.ibm.com
|,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D.
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"The Sun will pass between the Earth and the Moon tonight for a total
Lunar eclipse..." -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/