Hacker ApprovedDepartments

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%
Each figure is 2 people. RecommendsCriticizes

Recommended in 12 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. 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”
  • 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”
  • 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”
  • 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”
  • 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”
  • 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.

Bash compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
BashThis page17112757%1220 yrs7 owners—
PowerShell1569263%12——
fish shell972083%125 yrs11 ownersApproved
Nushell921586%111.7 yrs5 ownersApproved
zsh522766%1214 yrs6 owners—
See all 12 shells, ranked

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”

MixedComment from 18 Oct 2026 in “Show HN: OmniPTY – Opinionated terminal emulator for macOS and Linux”

“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.”

RecommendsComment from 11 Oct 2026 in “The tilde in your PATH may not be your HOME”

“bash can also express concurrency easily, with sync and async support for each command”

RecommendsComment from 7 Oct 2026 in “What is Codemode”

“the philosophy of simple composable tools tied together with the Unix shell has proven remarkably difficult to improve upon”

RecommendsComment from 18 Sep 2026 in “An empirical study of harness design for coding agents”

“The tool is called bash and optimized api is grep, the storage is the file system.”

RecommendsComment from 31 Aug 2026 in “Agent memory as a file format”

“The overhead of using languages compared to the previous is partly why I keep using bash or Tcl.”

RecommendsComment from 7 Aug 2026 in “Humans missed 1 in 3 threats approving AI agent commands across 40k game runs”

“a "shell" that does not natively run the executable programs you type is a non-starter as a shell.”

RecommendsComment from 26 Jul 2026 in “A shell colon does nothing. Use it anyway.”

“there’s a high likelihood that these tools will always be available on any machine”

RecommendsComment from 21 Jul 2026 in “I wrote an bash enumerator because I was sick of xargs”

“it's still incredibly useful as it's everywhere and has a far greater lifespan than almost anything else”

MixedComment from 21 Jul 2026 in “I wrote an bash enumerator because I was sick of xargs”

“Yes, Bash or any shell is a very complex and utterly environment dependent language to approach with all due care for security and compatibility”

CriticizesComment from 11 Jul 2026 in “Amber the programming language compiled to Bash/Ksh/Zsh”

“vim and bash, unlike some software, doesn't just go and change its config every few years!”

RecommendsComment from 1 Jul 2026 in “I Still Live in the Terminal”

“A real problem with bash in particular is that it had many incompatible features which were masked with bash's POSIX mode.”

CriticizesComment from 29 Jun 2026 in “POSIX Is Not a Shell”

“Bash is designed for the odd system function and that this is niche. However if it's all you got, eh, go for it.”

MixedComment from 28 Jun 2026 in “Bashblog – a single bash script to create blogs”

“Weird footguns don't matter if you stick to using shell for control flow, composition, and interpolation”

RecommendsComment from 28 Jun 2026 in “Bashblog – a single bash script to create blogs”

“lots of weird footguns, lack of basic features and data types, and spawning subprocesses for everything”

CriticizesComment from 28 Jun 2026 in “Bashblog – a single bash script to create blogs”

“I've seen enough broken python installs (even with stdlib) to put my faith in /dev/tcp working in bash”

RecommendsComment from 16 Jun 2026 in “TIL: You can make HTTP requests without curl using Bash /dev/TCP”

“Bash has added very few features beyond what was already quasi-standard in UNIX shells.”

RecommendsComment from 29 May 2026 in “Why Gentoo?”

“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.”

MixedComment from 23 May 2026 in “Rubish: A Unix shell written in pure Ruby”

“It's not "denial" to acknowledge that an already-fast program has a faster replacement and then get back to working on the bottlenecks.”

RecommendsComment from 24 Apr 2026 in “Windows 9x Subsystem for Linux”

“it has an Info file but it says it's just an intro and the manual page is the definitive version”

MixedComment from 4 Apr 2026 in “Why the heck are we still using Markdown?”

“both are a difficult/footgun enough language that it greatly helps to start out using it daily”

MixedComment from 29 Mar 2026 in “Shell Tricks That Make Life Easier (and Save Your Sanity)”

“bash and sed and suchlike turn out to be the most useful tools for unlocking the abilities of AI agents”

RecommendsComment from 12 Mar 2026 in “JSLinux Now Supports x86_64”

“It also manages container lifecycle (starting on first request, cleanup on connection shutdown).”

RecommendsComment from 10 Mar 2026 in “Agent Safehouse – macOS-native sandboxing for local agents”

“Though bash is not a good programming language, it's indeed flexible for CLI apps.”

MixedComment from 7 Mar 2026 in “Show HN: Mog, a programming language for AI agents”

“It's so bad that the moment I need even the slightest bit of complexity, I will switch away from bash.”

CriticizesComment from 27 Feb 2026 in “What does " 2>&1 " mean?”

“I think Bash is interesting in the "I'm glad it works but I detest having to work with it" kind of way.”

MixedComment from 27 Feb 2026 in “What does " 2>&1 " mean?”

“You're scripting on the shell because you're mainly gluing other processes together”

RecommendsComment from 27 Feb 2026 in “What does " 2>&1 " mean?”

“I believe bash scripts can be anything you want them to be, if they are useful to you then happy day's.”

RecommendsComment from 8 Feb 2026 in “Bash scripts are brittle – simple error handling in bash”

“I've been happy with Bash, Vim, JetBrains products and Terraform for a very long while.”

RecommendsComment from 22 Jan 2026 in “Skip Is Now Free and Open Source”

“Bash is soo stupid and dangerous, impossible to remember or understand the next day, but great fun.”

MixedComment from 18 Jan 2026 in “Fish Shell”

“You can often make oneliners that would traditionally be a lot of lines in Python.”

RecommendsComment from 8 Jan 2026 in “Stop Doom Scrolling, Start Doom Coding: Build via the terminal from your phone”

“BASH is a nightmare for bugs and foot-guns unless you make a point of defensive coding”

MixedComment from 7 Jan 2026 in “The Case for Nushell (2023)”

“the language (being an sh descendant) is honestly horrible for anything more complex than 200-300 lines”

CriticizesComment from 6 Jan 2026 in “Show HN: I replaced beads with a faster, simpler Markdown-based task tracker”

“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.”

CriticizesComment from 31 Dec 2025 in “Go Away Python”

“as soon as you require custom data manipulation in any form, you'll run into awkward edge cases”

MixedComment from 30 Dec 2025 in “Go Away Python”

“My favorite such features are `mapfile` and `lastpipe` for writing in a more functional style”

RecommendsComment from 13 Dec 2025 in “Using Python for Scripting”

“Everyone should stop using bash, especially if you have a scripting language you can use already.”

CriticizesComment from 11 Dec 2025 in “The highest quality codebase”

“I've become quite a fan (after struggling mightily with its seemingly millions of quirks.”

RecommendsComment from 7 Dec 2025 in “Perl's decline was cultural”

“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”

CriticizesComment from 20 Nov 2025 in “A surprise with how '#!' handles its program argument in practice”

“so `#!/usr/bin/env bash` is definitely more portable in that it consistently works”

RecommendsComment from 20 Nov 2025 in “A surprise with how '#!' handles its program argument in practice”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.