Hi, Chris!

On Wed, Apr 21, 2010 at 4:55 AM, Chris Davies <chris-use...@roaima.co.uk>wrote:

> If you write your script portably it will work with /bin/sh, for many
> values of sh. If you rely on features of ksh or bash you should specify
> one of those shells on the #! line.
>

Of course, you're right about portability -- I run everywhere I'm testing
except dash-as-sh ("Debian Future"), but I'm using a non-POSIX feature which
is causing me grief. My target platform is "Any modern UNIX, and any modern
GNU system", so I suppose I should be digging up a few more bourne shell
variants for testing anyhow. (We're primarily a Solaris shop).


>
> > 4 - Reason for #2, is there a way to list all functions declared in a
> script
> > with dash?
>
> "set" works for ksh, bash, and dash. On (at least) Solaris 9 & 10 and
> Debian. Is that enough?
>
>
That was my first thought, except dash only lists variables and not
functions.  Interestingly, dash seems to keep functions and variables in
separate namespaces -- this must be why 'unset -f' exists.

My current plan is to simply implement the functionality I need by parsing
the input script with itself where 'typeset' is not available -- and testing
for typeset via feature-testing rather than shell detection.  While
annoying, it would seem to be the only truly portable solution.

Thanks,
Wes

-- 
Wesley W. Garland
Director, Product Development
PageMail, Inc.
+1 613 542 2787 x 102

Reply via email to