Hello,

On Tue, Jan 30, 2007 at 10:07:50AM +0000, martin f krafft wrote:
> also sprach Alexander Gattin <[EMAIL PROTECTED]> [2007.01.30.0930 +0000]:
> >  ${parameter#word}, ${parameter##word},
> >  ${parameter%word}, ${parameter%%word},
> 
> these are not bashisms.

I assume you know POSIX better than me,

> >  ${parameter/pattern/string} and ${parameter//pattern/string}),
> 
> this is.

Yes, and this is not a matter of the bug, because checkbashisms
reports ${parameter/pattern/string} and ${parameter//pattern/string},
as I've already told.

> >  ${parameter:?error message} and ${parameter?error message}
> 
> this is not.
> 
> >  ${!prefix*} and [EMAIL PROTECTED]
> 
> this is.
> 
> What shell is this you are using in Solaris and what reason so you
> have to believe that it is POSIX compliant?

[EMAIL PROTECTED]:~$ uname -a
SunOS puma-a 5.9 Generic_118558-26 sun4u sparc SUNW,Sun-Fire

shell that I've used is /usr/bin/sh, another,
POSIX-compliant one is /usr/xpg4/bin/sh, here is output
of the latter:

[EMAIL PROTECTED]:~$ /usr/xpg4/bin/sh ./subst.sh 
${PATH} = /usr/bin:/usr/local/ant/bin:/usr/local/bin
${PATH+/bin} = /bin
${PATH:+/bin} = /bin
${PATH-/bin} = /usr/bin:/usr/local/ant/bin:/usr/local/bin
${PATH:-/bin} = /usr/bin:/usr/local/ant/bin:/usr/local/bin
${PATH=/bin} = /usr/bin:/usr/local/ant/bin:/usr/local/bin
${PATH:=/bin} = /usr/bin:/usr/local/ant/bin:/usr/local/bin
${PATH?No PATH} = /usr/bin:/usr/local/ant/bin:/usr/local/bin
${PATH:?No PATH} = /usr/bin:/usr/local/ant/bin:/usr/local/bin
./subst.sh[11]: ${!P*}: bad substitution
./subst.sh[12]: [EMAIL PROTECTED]: bad substitution
./subst.sh[13]: ${PATH:1}: bad substitution
./subst.sh[14]: ${PATH:0:7}: bad substitution
${#PATH} = 42
${PATH%%:*} = /usr/bin
${PATH%:*} = /usr/bin:/usr/local/ant/bin
${PATH#*:} = /usr/local/ant/bin:/usr/local/bin
${PATH##*:} = /usr/local/bin
./subst.sh[20]: ${PATH/local/loc}: bad substitution
./subst.sh[21]: ${PATH//local/loc}: bad substitution

OK, looks like only ${!P*} and [EMAIL PROTECTED] need to be
considered by checkbashisms. Do you agree?

P.S. from practical point of view, I've seen a lot
of troubles with Solaris' shell (/bin/sh) which
passed unnoticed by checkbashisms. And I'd prefer
them to be found/reported somehow, without need to
check on target systems, maybe some tool like e.g.
"checksolarisms", then? :)

-- 
regards,
xrgtn


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

Reply via email to