Re: [HEADSUP] making /bin/sh the default shell for root

From: Alban Hertroys <haramrae_at_gmail.com>
Date: Wed, 22 Sep 2021 20:03:40 UTC
> On 22 Sep 2021, at 10:36, Baptiste Daroussin <bapt@freebsd.org> wrote:
> 
> Hello,
> 
> TL;DR: this is not a proposal to deorbit csh from base!!!

(…)

> Recently our sh(1) has receive update to make it more user friendly in
> interactive mode:
> * command completion (thanks pstef@)
> * improvement in the emacs mode, to make it behave by default like other shells
> * improvement in the vi mode (in particular the vi edit to respect $EDITOR)
> * support for history as described by POSIX.
> 
> This makes it a usable shell by default, which is why I would like to propose to
> make it the default shell for root starting FreeBSD 14.0-RELEASE (not MFCed)

My one concern is this: what is the impact of these usability improvements to sh on its usage in scripts?

I can imagine that there is merit to having a separate shell that is optimised for scriptability and script performance and having a different shell for user interaction. It seems to me the former was a primary purpose of sh? How much “weight” did it gain in becoming more user friendly and how will that impact script performance?

I’ve been using FreeBSD with some frequency since 2.2.5 or so, so I am used enough to getting csh as root shell to not be able to see the problem that this change is trying to solve. Call me biased.

My purpose is just to throw in a different point of view here, I’m not a big sh script user myself (I think I wrote less than a dozen over the years), this is not something for me to judge.

Alban Hertroys
--
There is always an exception to always.