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.