this post was submitted on 29 Jan 2026
22 points (95.8% liked)
Linux
61653 readers
655 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 6 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
As you've mentioned in other threads, bash is a hard requirement for the OS, so if it's already installed, and the default on most Linux distros, bash is probably the best option.
The dash shell isn't designed to be user interactive. It's a lightweight scripting shell/language.
The ksh shell is an older standard shell. Years ago I worked for a company that ran corporate Unix systems and on those systems only ksh and tcsh were available. Ksh was the default, and as someone only familiar with bash it was a bit different but mostly the same. So there is at least one point for maybe choosing ksh.
However my personal shell preference is zsh. When I write scripts I do so using bash. The two shells are 99% similar on a day to day basis, but I prefer zsh for a user interface. So I use one for day to day and the other for scripting.
Other threads have also mentioned fish, which is also a great choice if you don't know where to start.
Are zsh or fish "heavier" or "bloated", maybe. But remember to consider your attack surface. If your house is on fire it doesn't matter of you fix the leaky faucet in bathroom or the kitchen.
Thank you!
I used to do the same, Bash as the default script interpreter and ZSH as my terminal interactive shell. Worked well. I also had Dash as the
/usr/bin/shinstalled. But once I installed a new OS, I did not want to set it up immediately and wanted to do it later. Then I realized that I do not need to and frankly didn't notice any difference. Besides ZSH was a bit slow here and there with the kind of setup I had. So since then I stayed on Bash only again and don't miss most of the stuff (but ZSH had some nice features).I wouldn't have even mentioned Fish here, its too different. If you going to learn a scripting language that is this different, then there are even more shells out there. I would stick to Bash (or ZSH for that matter). Especially if its the first shell language you get into.
Yeah, I mentioned fish, or zsh, only because day to day shell and scripting shell can be different.
If you want to script, bash is the way to go. For day to day, any personal preference is fine.