[External] : configure shell game

Nico Williams nico at cryptonector.com
Wed Jun 3 01:28:41 AEST 2026


On Tue, Jun 02, 2026 at 05:11:44PM +0200, Jan Pechanec via openssh-unix-dev wrote:
> /bin/sh on Solaris 11+ is ksh93 which considers ``, and documents it in
> its man page, as obsolete.  Retrospectively, using ksh93 as /bin/sh was
> not a good decision but it would be close to imposible to change it now.

I thought ksh93 recognizes when it's invoked as 'sh' and tries to act as
a POSIX shell in that case.  Unless its POSIX mode is incomplete in
obnoxious ways I wouldn't say it was a mistake to make ks93 /bin/sh.  (I
do think it was a mistake though.)

> We seriously considered that but as it would likely break large amount
> of existing user scripts using ksh93 features without explicitly calling
> /bin/ksh in the shebang, we decided against that.

I commend you for not making such a breaking change.

> ksh93 issues the warning with the -n option, which is used in
> test-exec.sh.  And it does not distinguish between syntax errors and
> warnings.

Syntax errors don't cause /bin/sh -n to exit with an error?  Or warnings
cause it to exit with an error?  The former would be quite bad and worth
fixing; the latter would be quite obnoxious and also worth fixing.

The warning message is somewhat useful: $() is POSIX now, and $() is
much better than ``.

Users usually can't do anything with such warnings, which makes them
more an annoyance than anything.

Nico
-- 


More information about the openssh-unix-dev mailing list