[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Netscape helpers, or replacing /bin/sh



jim <jim@pcks.com> writes:

> I recently switched to debian 1.31 (from a homebrew system based
> loosely on slackware), and with it came bash 2.x, which I had been
> avoiding for irrational reasons - or maybe not. I installed Netscape
> Communicator 4.04 and the Real Audio player (v5.02beta, the latest),
> and followed the directions in the readme for adding rvplayer as a
> helper app. But now, when I actually try to play something, I get an
> error dialog from Netscape that says:
> 
> sh: -c line 1: missing closing `)' for arthmetic expression
> sh: -1 line 1: syntax error near unexpected token `;'
> sh: -c line 1: `((/usr/local/bin/rvplayer /tmp/MO34B2F4B209B0136.ram); rm /tmp/MO34B2F4B209B0136.ram )&'
> 
> I've established that Communicator always fires off helper apps using
> similar syntax by invoking /bin/sh. My question is, if I were to
> replace /bin/sh (which is a symlink to /bin/bash) with something else
> (ash, or an older version of bash, for example), will it break
> anything debian-wise? I realize that it might break other things that
> expect /bin/sh to really be bash, but frankly, such things probably
> deserve it for making that assumption.

I had the same problem and ended up replacing sh with bash 1.14.5(1),
which I had lying around from an old slackware backup or something. I
don't think this is a good solution, though.

I saw some old discussion claiming that this is a netscape bug, but
after further research, I think it's really a bash bug... run from
tcsh, the command

bash -c '( ( echo foo ) ; echo bar )'

produces the expected

foo
bar

output, while

bash -c '(( echo foo ) ; echo bar )'

says

bash: -c: line 1: missing closing `)' for arithmetic expression
bash: -c: line 1: syntax error near unexpected token `;'
bash: -c: line 1: `(( echo foo ) ; echo bar )'

Under HPUX 9.05 and 10.20, OSF1 v3.0, IRIX 6.3, SunOS 5.5.1, SunOS
4.1.4, and AIX 2.3 (? AIX uname is weird), the command

 sh -c '(( echo foo ) ; echo bar )'

produces

foo
bar

so I think this is a bash bug, and a Debian bug if sh is to be a link
to bash. Someone claimed earlier on debian-user that bash's behavior
is correct, but it seems like a goal of bash is to be compatible with
sh. I don't know what the sh specs say about such things, but this
seems to be non-standard with respect to sh on every system I've
tried.

I'm cc'ing this to gnu.bash.bugs, so I'll mention that Debian GNU
linux 1.3.1 exhibits this bug on i386 systems, which is bash
v2.00.0(1), according to bash -version. bash v.1.14.5(1) does not have
the problem.

Of course, it's probably also a bug that this sh code is hard-compiled
into netscape, but I think that's secondary.

				my $0.02

					- M

-=-=-=-=-=-=-=-=-=-=-=+=-=-=-=-=-=-=-=-=-=-=-=+=-=-=-=-=-=-=-=-=-=-=-=-
Mark "Monty" Montague | monty@gg.caltech.edu  | I don't do Windows(tm)
-=-=-=-=-=-=-=-=-=-=-=+=-=-=-=-=-=-=-=-=-=-=-=+=-=-=-=-=-=-=-=-=-=-=-=-
DON'T PANIC! I'm a trained professional, and far more | *Why* question
  qualified to panic in this situation than you are.  |   authority?
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: