Subject: Re: misc/23729: Syntax error: "(" unexpected
To: None <misc-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Christos Zoulas <christos@zoulas.com>
List: netbsd-bugs
Date: 10/09/2006 02:15:05
The following reply was made to PR misc/23729; it has been noted by GNATS.
From: christos@zoulas.com (Christos Zoulas)
To: gnats-bugs@NetBSD.org, misc-bug-people@netbsd.org,
gnats-admin@netbsd.org, netbsd-bugs@netbsd.org, refling@acm.org
Cc:
Subject: Re: misc/23729: Syntax error: "(" unexpected
Date: Sun, 8 Oct 2006 22:10:15 -0400
On Oct 8, 1:10am, dholland@eecs.harvard.edu (David Holland) wrote:
-- Subject: Re: misc/23729: Syntax error: "(" unexpected
| The following reply was made to PR misc/23729; it has been noted by GNATS.
|
| From: dholland@eecs.harvard.edu (David Holland)
| To: gnats-bugs@NetBSD.org
| Cc:
| Subject: Re: misc/23729: Syntax error: "(" unexpected
| Date: Sat, 7 Oct 2006 21:07:25 -0400 (EDT)
|
| As of now, the only widely used shells that try to run files that
| won't exec() are sh and ksh. All the others fail, which you can verify
| by taking your favorite hello.c, compiling, and then editing the
| binary to replace "ld_elf.so" with, say, "ld_alf.so". This produces
| these results:
|
| % csh -c ./hullo
| ./hullo: Exec format error. Wrong Architecture.
|
| % bash -c ./hullo
| bash: ./hullo: cannot execute binary file
|
| % tcsh -c ./hullo
| ./hullo: Exec format error. Binary file not executable.
|
| % zsh -c ./hullo
| zsh: exec format error: ./hullo
|
| and
|
| % sh -c ./hullo
| ./hullo: 1: Syntax error: "(" unexpected
|
| % ksh -c ./hullo
| ./hullo: 1: Syntax error: "(" unexpected
|
| The behavior exhibited by sh and ksh is historic, but hasn't been
| useful since #! was invented, which was a long time ago.
|
| Probably the best thing to do is to remove it.
And what happens to shell scripts that don't start with #!?
christos