I explained how to disable readline
Was this kind of shell changing disabled? Maybe there’s no way of doing that exec automatically? Is there some advantage to having your shell of choice explicitly listed in /etc/passwd?
If you just want to execute it then it is a footgun - using only the !command syntax.
If you use the !command:p syntax then you are just printing what command has been executed instead of invoking it.
Example.
% uname
FreeBSD
% !uname
uname
FreeBSD
% !uname:p
uname
%I imagine that how it worked for them before is that the up arrow would move the cursor to the previous line into the output of the previous command, while feeding the arrow key escape sequences to the shell prompt as part of the command. IOW, a pretty useless and annoying key right? Why even press it? How did they notice readline?
I'd be sad to see an educated person refuse interesting new tricks (readline causes no regression or loss right ?)
If the tools such as base environment changes way too often, I'd be annoyed as well - not because I don't know how to make the colours go away or set up the proper aliases - but the fact that I need to do it and pause my actual work.
But I considered readline a good addition, not a waste of time and neurons.
ps: I stopped using zsh/fish, my emacs theme is the vanilla theme.. you forget about these 'improvements', for real tasks they don't matter.
But as you say, tools must get out of the way...
At this point I don't want to learn any new tricks, either. I'm sticking with bash for the rest of my life.
A lot of times people would be a lot more receptive if you show them "hey, you can use the up arrow like so if you want!" Then they can choose and adapt at their own pace if they want to, and they're in control of their own systems.
I'm quite shocked
I'm not 20 something either, I'm not chasing new shiny.. but a simple history access (arrows or search) is not an invasive disruptive toy feature..
alas
If you have a problem with one or two shells but not all of them, then you might want to look within.
- command completion
- ...
Too much bloat for my tastes.
I'm guessing your alternative is:
echo $PATH | sed 's/:/\n/g' | xargs ls | grep command_im_looking_forThere is a new setting in tcsh to allow for automatic rehash, but I have it disabled.
It was one of the things that made FreeBSD unique. I guess the got sick of hearing this question: "can I change the root shell to bash ?". I think they were the last holdout of the BSDs.
But to me, if you care what root's shell is, you are doing something wrong by using root way too often.
That said, it really was damned annoying. I like to port my software to AIX, FreeBSD, Linux/glibc, Linux/musl, NetBSD, macOS, OpenBSD, and Solaris. All of them use a Bourne-like root shell except FreeBSD, and every time I go to upgrade a FreeBSD VM or build a new one I seem to always trip over that at some point. If I used FreeBSD regularly I wouldn't care as much--I'd change the default, or know how to achieve what I want more directly. But not being familiar with FreeBSD, I always end up in a root shell poking around trying to remember how upgrades work, which tools I need to find documentation for, etc, and end up cursing csh for compounding the mental burden.
From my perspective, changing the default root shell is a benefit, albeit very minor. Though, if FreeBSD (and NetBSD and OpenBSD, for that matter) began publishing official VM images, that'd be worth so much more to me.
They do: ftp://ftp.freebsd.org/pub/FreeBSD/releases/VM-IMAGES/
You can do all kinds of fancy stuff with zsh (especially via something like oh-my-zsh) but it bloats it and slows it down too much for my liking. Maybe if I were trying to work on a machine with no GUI, I'd go for that sort of thing. As it is, I don't need a battery level graph or load monitor or whatever, always visible in my terminal.
The most important thing about zsh you should think of is "no need to quote variable expansion".
https://vermaden.wordpress.com/2021/09/19/ghost-in-the-shell...
> has anyone done serious scripting in the C shell?
I recall SAP created used CSH/TCSH for its scripts but I am not sure they still do it.
SunOS was BSD and Nirvana as far as Unix goes. Solaris was SysV and quickly earned the nickname "Slowlaris". For me FreeBSD is the functional descendant of SunOS.
As for Linux I first tried it out in 1993 and was appalled that command line switches for most standard Unix utils had been arbitrarily remapped. Tried FreeBSD 1.0 when it came out and never looked back. Of course I use Linux in AWS and various servers at work and regularly experiment with Linux distros on personal machines but it always feels a bit "off".
I wonder how many other greybeards that cut their teeth on SunOS prefer FreeBSD over Linux today?
Not a greybeard but I certainly reach for a BSD when I want to "use Unix".
Linux is a quivering basket case that cant decide if its Unix, MacOS or Windows.
A more positive spin on this would be that it combines the best of all three.
Personally I'm very much in the Unix camp though, and have the proverbial greybeard long enough to trip over. But I can see the value in the "Linux way" of doing things. Actually, I mostly just use Linux myself these days, mainly because of software compatibility and because it's "Unix-y enough" with the right distro; a decent trade-off.
That could be an interesting question. I certainly cut my teeth on SunOS and Irix. I much prefer modern Linux.
I do prefer FreeBSD over most Linux distros (except Slackware) from a philosophical standpoint.
[Usenet; poss. from the variety of prosimian called a “slow loris”. The variant ‘Slowlartus’ is also common, related to LART]
Common hackish term for Solaris, Sun's System VR4 version of Unix that came out of the standardization wars of the early 1990s. So named because especially on older hardware, responsiveness was much less crisp than under the preceding SunOS. Early releases of Solaris (that is, Solaris 2, as some marketroids at Sun retroactively rechristened SunOS as Solaris 1) were quite buggy, and Sun was forced by customer demand to support SunOS for quite some time. Newer versions are acknowledged to be among the best commercial Unix variants in 1998, but still lose single-processor benchmarks to Sparc Linux.
But I always liked SUN Solaris for its features and solutions.
GNU and Linux distributions are actually Unix clones, with different distributions mimicking or incorporating code from the various open source and proprietary Unix operating systems. For example, Slackware used to use an rc-style init system like BSD. Linux cgroups (underlying tech like Docker) look very much like Solaris zones. GNU coreutils have POSIX compatibility modes. Systemd looks a lot like Solaris SMF. Stuff like ZFS and DTrace were imported from OpenSolaris. And so on.
That's a common misconception. It's as much of a UNIX as Linux is (see the AT&T lawsuit).
It's great that other projects make other choices about default shells and other system design details.
EDIT: Oh, and I would expect BSDs to feel a lot more like traditional unix because they're direct descendants of UNIX™, unlike the later clones like GNU/Linux.
Plus the documentation for FreeBSD is much, much better. For one thing, no pushing me to use that god awful “infodoc” crap.
What's the current process to make extremely small "minimal" freebsd server install?
Is it Nanobsd[1], because the unfortunate downside is that the base can't change (I realize that's a feature) and for a web server or database server that might not be ideal.
It's a great shell for user input.
I never especially liked that csh-whynot article as I feel it focuses a bit on the wrong things, and things people rarely use in day-to-day usage.
I used tcsh for many years (as it was the default on FreeBSD, the first system where I seriously used the CLI), but I can't really think of many things it does better than either bash or tcsh nowadays. The only thing is that you can set "noclobber" to "notempty" and "ask", but at least "notempty" was added in zsh recently; AFAIK bash can't do that. It's a small but very useful feature for cases where you type "wrong-cmd > foo" and then up and "wrong-cmd-corrected > foo".
Whichever shell you might prefer, it's absurd and infuriating to have one shell as the default for normal users (including the first user created at installation time), and a completely different, not even remotely compatible one for the superuser.
As BASH uses the GPL3 license it does not have the chance of being included in the FreeBSD Base System because the FreeBSD project currently tries to remove all GPL3 licensed software from its base.
Details here:
For those with CLI access, adding a more full-featured shell is fairly easy with pkg.
It's a tradeoff but one I find more useful than not.