On Sun, Sep 15, 2002 at 07:15:38PM +0200, Pozsar Balazs wrote:
> This may well not be bug, rather an intended feature, but please enlighten
> me why the following doesn't work:
>
> I have two scripts:
> /home/pozsy/a:
> #!/bin/sh
> echo "Hello from a!"
>
> /home/pozsy/b:
> #!/home/pozsy/a
> echo "hello from b!"
>
> Both of them has +x permissions.
> But I cannot execute the /home/pozsy/b script:
>
> Isn't this "indirection" allowed?
Right, this isn't allowed to avoid eating kernel resources
without getting anything done.
Solution is to always compile an interpreter or to write
a wrapper in C, which is compiled and calls the perl interpreter
with your perl script. This wrapper would be ANSI-C with really
basic POSIX extensions and should thus be as portable as perl ;-)
So you hide the indirection from the kernel this way.
Of course you now define the wrapper as the interpreter for your
perl scripts.
Hope that helps.
Regards
Ingo Oeser
-- Science is what we can tell a computer. Art is everything else. --- D.E.Knuth - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/