Oddbean new post about | logout
 @5f9bb1a8 mostly agree, though not seeing why you necessarily need zsh, what's wrong with the standard csh setup? 
 @0e1b5160 I'm not the author of the article, so I don't know. I'm fine with csh as well, but many prefer zsh - especially if coming from Linux. Maybe that's the reason why they suggest zsh. 
I prefer to stick with a shell being in base system. 
 @5f9bb1a8 @0e1b5160 For my user account, I like #Fish shell. Nice and easy to use for my  need. 
DO NOT change default shell for root account. Else you can get issue if an update goes wrong. 
 @7e6185e6 @0e1b5160 I'm using the fish shell on my workstation. 
Root shell has always been and will always be the default one. When I was younger I changed it to bash and an update caused headaches 🤕 
 @7e6185e6 @5f9bb1a8 @0e1b5160 my 2¢ here (actually, indeed two remarks):

1. What's "wrong" with #csh is it's a non-standard shell, many things work differently than in a #POSIX-compliant (bourne) shell, sometimes in subtle and surprising ways. For me, this is just unnecessary friction, you'll always use a bourne shell for scripting, and I want my interactive shell to work exactly the same (plus extensions of course). Regarding this, #fish is even worse, while #zsh by default is (almost) #POSIX-compliant, can emulate a lot (including #csh) and is comfortable by extensions.

2. #FreeBSD offers "toor" as a second name for "root" with its own entry in the passwd database. If you activate it (by setting a password), you can change the shell of *one* of the accounts safely, as long as the *other* one keeps having the default shell from base. 
 @7e6185e6 @5f9bb1a8 @0e1b5160 

⚙ D40565 Remove toor backup account 

<https://reviews.freebsd.org/D40565> 
 @7e6185e6 @5f9bb1a8 @0e1b5160 I run zsh off my ~/.profile with a short exit delay.  If it breaks I just have to ^C and I'm dropped to a sh prompt. 
 @5f9bb1a8 @0e1b5160 I never use bash, https://old.reddit.com/comments/ozxqkg/-/h84lbvi/ probably explains why I still prefer tcsh and csh on #FreeBSD.

https://scriptingosx.com/2019/06/moving-to-zsh/ might be of interest. 
 @0e1b5160 @5f9bb1a8 

The csh(1) is not even able to do as simple thing as this one:

% echo 1> /dev/null 2> /dev/null
Ambiguous output redirect.

There are also other reasons:
- http://harmful.cat-v.org/software/csh

Fortunatelly the FreeBSD 14.x has POSIX sh(1) as root shell:
- https://cgit.freebsd.org/src/commit/?id=d410b585b6f00a26c2de7724d6576a3ea7d548b7