Jon Nelson on 19 Nov 2007 18:37:38 -0000 |
On Mon, 2007-11-19 at 13:03 -0500, Walt Mankowski wrote: > On Mon, Nov 19, 2007 at 12:41:52PM -0500, lists@linuxnotes.net wrote: > > root@2[cgi-bin]# perl -MConfig -le 'print $Config{sh}' > > /bin/sh > > root@2[cgi-bin]# > > root@2[cgi-bin]# ls -al `which sh` > > lrwxrwxrwx 1 root root 4 Jul 6 12:59 /bin/sh -> bash > > > > So it looks like I am using the same shell, but still getting the errors. > > (Lots of stuff snipped since it was becoming unreadable anyway.) > > It's clear that perl is using bash. But you said that you could enter > commands with parens from the command line and not get any errors, > which implies that maybe your own shell is something other than bash. > > Here's what happens when I try to use parens from bash: > > $ echo a(b)c > bash: syntax error near unexpected token `(' > $ echo a\(b\)c > a(b)c > > Are you sure your shell is bash? What do you see when you enter > > $ echo $SHELL /bin/bash I must not have been too clear when I was trying to explain myself before, but I will try again. When I run the perl script (which in turn runs the bash script) I get the syntax error. If I manually run the bash script and provide it with the arguments, in the same format that quotemeta does, I get no errors. Jon ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
|
|