Re: [External] : configure shell game
Nico Williams <[email protected]> Tue, 2 Jun 2026 10:28:41 -0500
| Newsgroups | gmane.network.openssh.devel |
|---|---|
| Message-ID | <ah72qa1v1E5q8/8g@ubby> |
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 --