Re: configure shell game
"Theo de Raadt" <[email protected]> Tue, 02 Jun 2026 09:45:17 -0600
| Newsgroups | gmane.network.openssh.devel |
|---|---|
| Message-ID | <[email protected]> |
Nico Williams <[email protected]> wrote: > On Tue, Jun 02, 2026 at 11:28:07PM +1000, Darren Tucker via openssh-unix-dev wrote: > > I was recently reminded of this nonsense from the Solaris /bin/sh while > > running a regression test: > > > > run test proxy-connect.sh ... > > [...]/proxy-connect.sh: warning: line 6: `...` obsolete, use $(...) > > [...]/proxy-connect.sh: warning: line 6: `...` obsolete, use $(...) > > [...]/proxy-connect.sh: warning: line 15: `...` obsolete, use $(...) > > Nowadays $() is POSIX. Is there any supported system where /bin/sh does > not support $()? Yes. > If not then changing the scripts to use $() sounds > like a worthwhile change, but finding the answer to that question may > not be easy. It sounds like Solaris "sh" performs the `` action correctly, but the problem is that it sends a warning message onto fd 2. It seems to be assuming that fd 2 is directly facing a user and will not affect the shell script. That is misguided. It is very common in shell script programming for fd2 to be redirected and checked by the script itself. I think Solaris should reconsider this bad choice, and remove the warning message because `` is being performed correctly. This warning message is not helping anyone, and Unix lacks a reliable method to deliver a message to a user (as /dev/tty or syslog(3) have their own issues).