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.  In this case, I would reasonably expect init scripts to be
usable in all of:
- bash
- dash
- pdksh
- zsh

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.

It's a shame that POSIX doesn't provide dynamic variable scoping
(available in KornShell compatible shells using the "typeset" keyword),
but it would be tedious to define every identifier as local.

I take your point, however, that /bin/bash is a more popular choice
as /bin/sh, and is therefore better tested.

Thanks for your quick response and consideration of this bug. :-)

-- 
Michael Wardle <[EMAIL PROTECTED]>



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to