Bash
The most recommended of 12 shells
The go-to shell for gluing commands, pipes and files together, available on nearly every machine, though full of footguns and painful once scripts grow complex.
The go-to shell for gluing commands, pipes and files together, available on nearly every machine, though full of footguns and painful once scripts grow complex.
298 people gave an opinion
- recommend it
- 171
- criticize it
- 127
- approval share
- 57%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Owned for 20 years
Median of the 7 owners who said how long they have had it.
Each square is one year.
Why it doesn’t carry the badge
- 171 people recommend itNeeds 10 or more, met.
- 1.3 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Excellent glue for commands, pipes
“For the things shell is good at (running other commands, pipes, and shuffling files), I have yet to find anything even close to as good.”
Comment from 11 Oct 2026 in “The tilde in your PATH may not be your HOME” “the philosophy of simple composable tools tied together with the Unix shell has proven remarkably difficult to improve upon”
Comment from 18 Sep 2026 in “An empirical study of harness design for coding agents” “Weird footguns don't matter if you stick to using shell for control flow, composition, and interpolation”
Comment from 28 Jun 2026 in “Bashblog – a single bash script to create blogs” - Comment from 27 Feb 2026 in “What does " 2>&1 " mean?”
- Comment from 18 Oct 2026 in “Show HN: OmniPTY – Opinionated terminal emulator for macOS and Linux”
- Comment from 31 Aug 2026 in “Agent memory as a file format”
Available everywhere, long lifespan
“it's still incredibly useful as it's everywhere and has a far greater lifespan than almost anything else”
Comment from 21 Jul 2026 in “I wrote an bash enumerator because I was sick of xargs” “I've seen enough broken python installs (even with stdlib) to put my faith in /dev/tcp working in bash”
Comment from 16 Jun 2026 in “TIL: You can make HTTP requests without curl using Bash /dev/TCP” “there’s a high likelihood that these tools will always be available on any machine”
Comment from 21 Jul 2026 in “I wrote an bash enumerator because I was sick of xargs” - Comment from 20 Nov 2025 in “A surprise with how '#!' handles its program argument in practice”
Concise, flexible one-liners
“bash can also express concurrency easily, with sync and async support for each command”
Comment from 7 Oct 2026 in “What is Codemode” “You can often make oneliners that would traditionally be a lot of lines in Python.”
Comment from 8 Jan 2026 in “Stop Doom Scrolling, Start Doom Coding: Build via the terminal from your phone” “Though bash is not a good programming language, it's indeed flexible for CLI apps.”
Comment from 7 Mar 2026 in “Show HN: Mog, a programming language for AI agents” - Comment from 13 Dec 2025 in “Using Python for Scripting”
Stable for decades
“vim and bash, unlike some software, doesn't just go and change its config every few years!”
Comment from 1 Jul 2026 in “I Still Live in the Terminal” “I've been happy with Bash, Vim, JetBrains products and Terraform for a very long while.”
Comment from 22 Jan 2026 in “Skip Is Now Free and Open Source” “Bash has added very few features beyond what was already quasi-standard in UNIX shells.”
Comment from 29 May 2026 in “Why Gentoo?”
What people warn about
Each mark is one comment
Arcane rules and dangerous footguns
“BASH is a nightmare for bugs and foot-guns unless you make a point of defensive coding”
Comment from 7 Jan 2026 in “The Case for Nushell (2023)” “bash to me is the C++ of scripting. There are a bunch of arcane rules which all have to be followed, forget a single one of them and you've got a vulnerability.”
Comment from 31 Dec 2025 in “Go Away Python” “Yes, Bash or any shell is a very complex and utterly environment dependent language to approach with all due care for security and compatibility”
Comment from 11 Jul 2026 in “Amber the programming language compiled to Bash/Ksh/Zsh” - Comment from 28 Jun 2026 in “Bashblog – a single bash script to create blogs”
- Comment from 18 Jan 2026 in “Fish Shell”
- Comment from 29 Mar 2026 in “Shell Tricks That Make Life Easier (and Save Your Sanity)”
- Comment from 7 Dec 2025 in “Perl's decline was cultural”
Breaks down for complex scripts
“the language (being an sh descendant) is honestly horrible for anything more complex than 200-300 lines”
Comment from 6 Jan 2026 in “Show HN: I replaced beads with a faster, simpler Markdown-based task tracker” “It's so bad that the moment I need even the slightest bit of complexity, I will switch away from bash.”
Comment from 27 Feb 2026 in “What does " 2>&1 " mean?” “as soon as you require custom data manipulation in any form, you'll run into awkward edge cases”
Comment from 30 Dec 2025 in “Go Away Python” - Comment from 11 Dec 2025 in “The highest quality codebase”
Portability and version inconsistencies
“A real problem with bash in particular is that it had many incompatible features which were masked with bash's POSIX mode.”
Comment from 29 Jun 2026 in “POSIX Is Not a Shell” “the bash you get on MacOS is bash 3.2 released in 2006 so relying on it for portability might not be a good idea”
Comment from 20 Nov 2025 in “A surprise with how '#!' handles its program argument in practice” “Yes, Bash or any shell is a very complex and utterly environment dependent language to approach with all due care for security and compatibility”
Comment from 11 Jul 2026 in “Amber the programming language compiled to Bash/Ksh/Zsh”
Other shells people recommend
The four most recommended other shells, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| BashThis page | 171 | 127 | 57% | 12 | 20 yrs7 owners | — |
| PowerShell | 156 | 92 | 63% | 12 | — | — |
| fish shell | 97 | 20 | 83% | 12 | 5 yrs11 owners | Approved |
| Nushell | 92 | 15 | 86% | 11 | 1.7 yrs5 owners | Approved |
| zsh | 52 | 27 | 66% | 12 | 14 yrs6 owners | — |
What people said
40 of the 349 comments that mention it, newest first. Each links to the original comment.
“all the compilers and parsers and file searchers and so on are all invoked via bash”
“For the things shell is good at (running other commands, pipes, and shuffling files), I have yet to find anything even close to as good.”
“bash can also express concurrency easily, with sync and async support for each command”
“the philosophy of simple composable tools tied together with the Unix shell has proven remarkably difficult to improve upon”
“The tool is called bash and optimized api is grep, the storage is the file system.”
“The overhead of using languages compared to the previous is partly why I keep using bash or Tcl.”
“a "shell" that does not natively run the executable programs you type is a non-starter as a shell.”
“there’s a high likelihood that these tools will always be available on any machine”
“it's still incredibly useful as it's everywhere and has a far greater lifespan than almost anything else”
“Yes, Bash or any shell is a very complex and utterly environment dependent language to approach with all due care for security and compatibility”
“vim and bash, unlike some software, doesn't just go and change its config every few years!”
“A real problem with bash in particular is that it had many incompatible features which were masked with bash's POSIX mode.”
“Bash is designed for the odd system function and that this is niche. However if it's all you got, eh, go for it.”
“Weird footguns don't matter if you stick to using shell for control flow, composition, and interpolation”
“lots of weird footguns, lack of basic features and data types, and spawning subprocesses for everything”
“I've seen enough broken python installs (even with stdlib) to put my faith in /dev/tcp working in bash”
“Bash has added very few features beyond what was already quasi-standard in UNIX shells.”
“Bash maintainer actually implemented the library feature I suggested and it's already dramatically cut down the amount of unsightly bash code I need to keep around and maintain.”
“It's not "denial" to acknowledge that an already-fast program has a faster replacement and then get back to working on the bottlenecks.”
“it has an Info file but it says it's just an intro and the manual page is the definitive version”
“both are a difficult/footgun enough language that it greatly helps to start out using it daily”
“bash and sed and suchlike turn out to be the most useful tools for unlocking the abilities of AI agents”
“It also manages container lifecycle (starting on first request, cleanup on connection shutdown).”
“Though bash is not a good programming language, it's indeed flexible for CLI apps.”
“It's so bad that the moment I need even the slightest bit of complexity, I will switch away from bash.”
“I think Bash is interesting in the "I'm glad it works but I detest having to work with it" kind of way.”
“You're scripting on the shell because you're mainly gluing other processes together”
“I believe bash scripts can be anything you want them to be, if they are useful to you then happy day's.”
“I've been happy with Bash, Vim, JetBrains products and Terraform for a very long while.”
“Bash is soo stupid and dangerous, impossible to remember or understand the next day, but great fun.”
“You can often make oneliners that would traditionally be a lot of lines in Python.”
“BASH is a nightmare for bugs and foot-guns unless you make a point of defensive coding”
“the language (being an sh descendant) is honestly horrible for anything more complex than 200-300 lines”
“bash to me is the C++ of scripting. There are a bunch of arcane rules which all have to be followed, forget a single one of them and you've got a vulnerability.”
“as soon as you require custom data manipulation in any form, you'll run into awkward edge cases”
“My favorite such features are `mapfile` and `lastpipe` for writing in a more functional style”
“Everyone should stop using bash, especially if you have a scripting language you can use already.”
“I've become quite a fan (after struggling mightily with its seemingly millions of quirks.”
“the bash you get on MacOS is bash 3.2 released in 2006 so relying on it for portability might not be a good idea”
“so `#!/usr/bin/env bash` is definitely more portable in that it consistently works”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.