This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: base-files patch (atn: Eric Blake)


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]