On Sun, 03 Apr 2005 11:53:18, Michael Wardle wrote:
> No shell in the Debian archives is a perfect implementation of the POSIX
> shell specifications: they are all either subsets or supersets (except
> of course for ones not derived from Bourne Shell such as csh and rc).
> 
> There are a few Debian init scripts that use KornShell parameter
> substitution (such as BASENAME=${FILENAME##/*/}), so it is best to
> set /bin/sh to a shell that provides POSIX plus some KornShell
> extensions.

Well, those extensions (${VAR#%} ) aren't - they are standard POSIX.
But my experience is that almost noone knows about that.

> Unfortunately, we tend to assume that all identifiers we use in scripts
> are not yet defined, but obviously there are some identifiers that are
> reserved and should not be reused in shell scripts for different
> purposes (such as LOGNAME, PATH, PWD, TMOUT, etc.).  It just happens
> that ksh has a few more of those.

I don't really like it that ksh has stop() as a builtin - looks like
namespace pollution to me. However there's nothing we can do about it
I guess..

The /etc/init.d/skeleton script uses d_start and d_stop already, so
using those would be the correct fix then I guess.

Mike.


Reply via email to