# Bug of bash with sed operation ???

Bob McGowan rmcgowan@veritas.com
Tue Jun 20 09:54:00 GMT 2000

```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

```