Re: PKGBASE Removes FreeBSD Base System Feature

From: Dag-Erling_Smørgrav <des_at_FreeBSD.org>
Date: Tue, 05 Aug 2025 09:00:50 UTC
Sulev-Madis Silber <freebsd-current-freebsd-org111@ketas.si.pri.ee>
writes:
> someone had creative idea to replace csh with sh without porting
> "useless" features over.  partial history search is one
> example.

Who said partial history search is useless?

> thankfully csh is still there. i get that some people use
> bash everywhere as interactive shell which i don't.

sh is not bash

> funnily i can't even find way to configure it in bash?

Configure what in bash?  afaik bash hash incremental history search
turned on by default.

> i've always used that feature since 4.6 and i would be surprised if
> answer is nobody needs that.

Some people like csh and that's fine, it's still available and we have
no intention of removing it.

> it was added and enabled for a reason.

It was added 40+ years ago at a time when sh was the Bourne shell, which
was much more limited.  That was before the Almquist shell (which our sh
is descended from), before the Korn shell, before POSIX standardized a
bunch of Almquist and Korn features, and before people lile jilles@ and
pstef@ added a bunch of creature comforts to our sh.  There was a time
in the 1980s and 1990s when some people preferred csh for scripting
because it was genuinely superior in some respects, but improvements in
sh and the lack of a formal or even informal standard for csh eventually
put an end to that.

> how come now we say it's not needed?

We never said it's not needed, just that it doesn't have to be the
default.

> sh got several interactive use help features but who decided
> and what?

The people who did the work decided what to work on, that's the entire
point of a volunteer project.

> i expect many fbsd users and dev have used it way before 4.6. was it
> like bash all the way or...? noone even used csh?

Most people didn't.

> the default? if so, why was the shell csh until now?

See above.

> why was it even changed?

Because a majority of the people who decide these things (i.e. FreeBSD
developers) prefer sh.

> and why was it changed to sh?

It's the POSIX shell, the one shell we are absolutely required to
support, the one shell developers need to learn inside out because its
language is used everywhere in scripts and Makefiles, so most people
learn sh and never bother to learn a second shell; or if they do, it's
one that behaves more like sh than like csh, such as bash or zsh.
Therefore, it makes more sense for the default shell to be sh than csh.

> granted, no other shells but. maybe we could upgrade sh so you can
> also interactively actually use it.

Many of us are fine using sh interactively.  But for most people it
genuinely makes no difference, because they rarely if ever use a root
shell.  They use sudo or doas.

> but for now i just need to change it back

That's done in seconds with chsh or vipw.  But also, you shouldn't log
in as root, so the change shouldn't have much impact.

> p.s.: i also never got and never get why there's tendency to bully
> users off of using some software. csh is one of them

Who is bullying you?

DES
-- 
Dag-Erling Smørgrav - des@FreeBSD.org