This is the mail archive of the cygwin@sourceware.cygnus.com 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]

Re: Bug of bash with sed operation ???


Chris Faylor wrote:
> 
> On Tue, Jun 20, 2000 at 10:35:03AM -0400, Zhiguang Qian wrote:
> >Hi,
> >
> >Here is the sample.
> >
> >>>export MY=\aaa\bbb.c
> >>>echo $MY | sed -e 's#\\#\/#g'
> >>> /aaa/bbb.c
> >>>out=`echo $MY | sed -e 's#\\#\/#g'`
> >>> sed: -e expression #1, char 8: Unterminated `s' command
> >
> >Try it.
> 
> I did.  Have you tried it on UNIX?  Same effect.  It's not a bug.
> 
> Your \\ is being eaten inside the ` ...  ` command.  You probably need
> to double up on these when you are using them inside of backquotes (or
> " style quotes for that matter).
> 

I tried it too, but things didn't work as described above, from line
one.  After assigning to MY and doing a simple echo, bash printed:

   aaabbb.c

The initial single backslashes are stripped to begin with (normal escape
processing).  So I could not get any output looking like "/aaa/bbb.c". 
Perhaps I missed something in an earlier post?

I got the last part, unterminated `s' command, in both bash
2.03.0(2)-release (CD 1.0) and 2.04.0(1)-release (from the net).  As
Chris notes this is normal behavior due to two passes through the
interpreter for command substitution rather than one as in the first sed
case.

-- 
Bob McGowan
Staff Software Quality Engineer
VERITAS Software
rmcgowan@veritas.com

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


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