Bash

72 engineers on Hacker News describe using Bash first-hand: 9 endorse it, 16 regret it, 3 are mixed.

36%trust
72first-hand users
45in production
endorse 9mixed 3regret 16uses, no opinion

“Been doing bash scripting for years. Tried Go recently, on my, it's so much better for everything OS scripting.”

regret · personal · wltr · 2026-08-11 · source ↗ · wrong label?

“instead of ~200 lines of cursed, buggy bash.”

regret · production · diarrhea · 2025-12-14 · source ↗ · wrong label?

“if you follow the philosophy of using bash as your CI so it runs locally, then you can use the same CI logic on sourcehut and Github Actions”

endorse · production · chubot · 2025-08-20 · source ↗ · wrong label?

“I've been using vscode in java because of the cumbersome file navigation in bash.”

regret · personal · beacon294 · 2024-12-15 · source ↗ · wrong label?

“every time I use it for anything slightly complicated I regret it”

regret · personal · bbkane · 2024-12-08 · source ↗ · wrong label?

“Little things like that add up after you've spent years wrestling with bash scripts.”

regret · production · gurgeous · 2024-12-07 · source ↗ · wrong label?

“I never again wanted to deal with bash and its endless quirks and brittleness”

regret · personal · Aurelius108 · 2024-09-18 · source ↗ · wrong label?

“bash works great and you can do a lot with it”

endorse · personal · zer00eyz · 2024-04-18 · source ↗ · wrong label?

“this Go \ bash ecosystem works for us, is easy to manage, and limits dependencies overall”

endorse · production · cloudyporpoise · 2022-07-24 · source ↗ · wrong label?

“No, it's a bad tool that guiles the user into holding it wrong. There are better tools that are easier to hold.”

regret · production · deathanatos · 2022-03-29 · source ↗ · wrong label?

“I prefer using bash + gnu utils (envsubst & see) and kustomize than playing around with a template language”

endorse · production · atmosx · 2021-11-17 · source ↗ · wrong label?

“if I'm not careful they get painfully complex and I tend to regret not writing it in perk”

regret · personal · midasuni · 2021-10-31 · source ↗ · wrong label?

“I have a lot of experience writing Bash scripts and I regret It.”

regret · personal · louwrentius · 2020-12-15 · source ↗ · wrong label?

“I've written many thousand lines of code in bash ... Never again!”

regret · production · flavious · 2019-05-25 · source ↗ · wrong label?

“I've enjoyed the ease Bash provides for scripting, compared to doing the same thing in Node or Python.”

endorse · personal · catacombs · 2018-12-23 · source ↗ · wrong label?

“I always regret writing bash scripts, which start really simple, but tr require refactoring into perl after a few days.”

regret · personal · isostatic · 2018-10-24 · source ↗ · wrong label?

“yes I have built reliable systems in Bash... it can be a complete nightmare to work with if you're not proficient”

mixed · production · laumars · 2018-05-15 · source ↗ · wrong label?

“shell is the one thing that just works, is easily readable, is easily documented, is fairly easy to write”

endorse · production · arca_vorago · 2017-04-01 · source ↗ · wrong label?

“the resulting mix of single, double, and escaped quotes was a bit too hacky even for me”

regret · personal · probably_wrong · 2016-12-19 · source ↗ · wrong label?

“My IDE of choice is bash.”

endorse · production · hermitdev · 2016-12-06 · source ↗ · wrong label?

“a lot of the dev workflow has moved out of, say, Visual Studio and into a command line. This is great”

endorse · production · yawgmoth · 2016-08-14 · source ↗ · wrong label?

“I use bash pretty regularly in the devops/sysadmin world pretty often. It can do some wonders, but it has some /serious/ issues.”

mixed · production · bpchaps · 2015-12-15 · source ↗ · wrong label?

“When I start writing something in bash, because of those few things it makes so easy (e.g. running subprocesses), I usually regret it as the script grows.”

regret · personal · ptx · 2015-03-16 · source ↗ · wrong label?

“I don't regret the time spent because I picked up a lot of transferrable skills from command line utilities and bash.”

mixed · personal · aleem · 2014-09-20 · source ↗ · wrong label?

“I have never been able to write more than ten lines of bash-level scripting without saying "Screw this, it's unreadable and unmaintainable"”

regret · production · kabdib · 2013-12-29 · source ↗ · wrong label?

“Things I have become an expert in that are now useless to me and probably not valued by an employer”

regret · production · pkteison · 2013-10-07 · source ↗ · wrong label?

“I wish I'd never even started with bash!”

regret · personal · tome · 2012-07-23 · source ↗ · wrong label?

“it has bash and the tools I use work the same way they will on the linux boxes I deploy to.”

endorse · production · earl · 2012-06-15 · source ↗ · wrong label?

“Our tasks and scripts are currently just Bash, but they're relatively nice Bash”

neutral · production · pxc · 2025-12-15 · source ↗ · wrong label?

“replaced Bash scripts with Bun shell for setup and CI scripts.”

neutral · production · linkage · 2025-12-02 · source ↗ · wrong label?

“I instead just send everything like that to bash.”

neutral · personal · esrh · 2025-10-12 · source ↗ · wrong label?

“We were drifting toward a bespoke Bash mess to keep dev and prod in sync.”

neutral · production · 18nleung · 2025-10-04 · source ↗ · wrong label?

“the services we run are typically self-contained golang binaries that we can deploy with bash onto baremetal.”

neutral · production · elevation · 2025-08-10 · source ↗ · wrong label?

“The whole deployment process is done in a bash script which uses the git hash for versioning”

neutral · production · hauxir · 2024-12-13 · source ↗ · wrong label?

“either we use bash or Python for the recipe.”

neutral · production · BeetleB · 2024-12-07 · source ↗ · wrong label?

“I was using two other languages other than SQL on a daily basis as well (Perl and Bash)”

neutral · production · tharkun__ · 2024-12-04 · source ↗ · wrong label?

“my very basic inhouse solution ... is ~30 lines of bash, which is ran by cron every day”

neutral · production · timcambrant · 2024-05-06 · source ↗ · wrong label?

“20 years of muscle memory writing bash / python / perl / awk / sql / ruby / JS / CSS selectors”

neutral · production · 20 yr · seanp2k2 · 2023-11-08 · source ↗ · wrong label?

“building k8s clusters from scratch via terraform and bash scripting.”

neutral · production · 7 yr · jml78 · 2023-08-10 · source ↗ · wrong label?

“I don't have to worry about forgetting to write `set -euo pipefail` because it does it for me.”

neutral · personal · _dain_ · 2022-12-31 · source ↗ · wrong label?

“I sometimes regret having built up tons of Bash aliases, because in the long term it ends up with me not really knowing half the tools I use”

neutral · personal · frou_dh · 2022-12-20 · source ↗ · wrong label?

“we have helm charts and a bunch of bash scripts etc.”

neutral · production · RamblingCTO · 2022-02-10 · source ↗ · wrong label?

“My shell-script solution I've been using for the last year or two”

neutral · personal · 2 yr · ranma42 · 2021-12-19 · source ↗ · wrong label?

“I have some bash functions which get/set these defaults, so I will typically make sure I know what I am running against”

neutral · production · verdverm · 2021-11-14 · source ↗ · wrong label?

“I've been using bash for about 30 years, and at this point, sheer inertia means it's unlikely I'll ever switch away.”

neutral · personal · 30 yr · LeoPanthera · 2020-12-21 · source ↗ · wrong label?

“so we use bind -x and "pretend that you typed in the edit call manually"”

neutral · personal · FeepingCreature · 2020-12-12 · source ↗ · wrong label?

“bash script install things, and use native package managers like pip install”

neutral · production · nojvek · 2020-01-28 · source ↗ · wrong label?

“We use getopt style command line parameter parsing in at least Java, Perl, Python, and BASH at work”

neutral · production · ohithereyou · 2019-12-26 · source ↗ · wrong label?

“I've been using bash since the 90s, and really got into Powershell a couple of years ago”

neutral · personal · nailer · 2018-12-12 · source ↗ · wrong label?

“Simple scripts, bash until they need their first 'if' or flag or loop, then Go too.”

neutral · production · EricBurnett · 2018-11-30 · source ↗ · wrong label?

“everything is done via ansible/repeatable deploys (and some python and bash scripts).”

neutral · production · noir_lord · 2018-11-30 · source ↗ · wrong label?

“I wrote a bash script that extracted those dependencies and created a graphviz dot file.”

neutral · personal · Izkata · 2017-12-19 · source ↗ · wrong label?

“I still write scripts in bash for compatibility (when I have to)”

neutral · personal · djsumdog · 2017-12-13 · source ↗ · wrong label?

“adddition transitionally compat with bash or zsh”

neutral · production · zaphirplane · 2017-12-13 · source ↗ · wrong label?

“I have a lot of muscle memory with bash-isms which also work in ZSH.”

neutral · personal · dijit · 2017-12-13 · source ↗ · wrong label?

“Incoming invoices are frequent -> write a bash script, Outgoing invoices are frequent -> write a bash script.”

neutral · production · jdemler · 2017-11-30 · source ↗ · wrong label?

“use a self-written bash script as "init script"”

neutral · production · mschuster91 · 2017-10-27 · source ↗ · wrong label?

“I wrote most of the CLI for Eclipse Che and Codenvy (in bash!!).”

neutral · production · TylerJewell · 2017-06-18 · source ↗ · wrong label?

“the bash build script is 177 LoC and is driven by a standard build script”

neutral · production · doki_pen · 2015-07-10 · source ↗ · wrong label?

“I write mostly write C, Bash, Python, Go, Puppet.”

neutral · production · sleepydog · 2015-07-05 · source ↗ · wrong label?

“just some simple orchestration stuff for the local machine written in bash”

neutral · production · hootener · 2015-06-30 · source ↗ · wrong label?

“pointing /bin/bash at /bin/dash and making a separate /bin/bash-really.”

neutral · personal · danielweber · 2014-10-08 · source ↗ · wrong label?

“the servers in question had been successfully patched (twice!!) immediately after the Bash issue became public.”

neutral · production · secalex · 2014-10-06 · source ↗ · wrong label?

“CGI scripts do get written in bash, and people often often make use of sudo within them. I've seen such a beast in production at multiple companies.”

neutral · production · dsl · 2014-09-26 · source ↗ · wrong label?

“Here is the bash alias I have been using for CLI JSON formatting”

neutral · personal · tedchs · 2012-11-09 · source ↗ · wrong label?

“All of ServiceStack's live demos are deployed using simple bash scripts.”

neutral · production · mythz · 2012-10-22 · source ↗ · wrong label?

“I was putting my dotfiles into github and spend a lot of time on OSX and Linux so was merging the two sets.”

neutral · personal · jwecker · 2012-08-11 · source ↗ · wrong label?

“To me I think of it as Bash bindings, because that is where I learned them.”

neutral · personal · Periodic · 2011-11-12 · source ↗ · wrong label?

“For the same reason we use Java, C++, Scala, Perl, Closure, Bash, JavaScript, etc...”

neutral · production · linuxhansl · 2011-11-07 · source ↗ · wrong label?

“more than half of the code is bash.”

neutral · production · choogi · 2011-03-05 · source ↗ · wrong label?

“We use monit combined with a number of helper bash scripts running in cron.”

neutral · production · jberryman · 2010-10-24 · source ↗ · wrong label?

“We have a bash script which grabs the latest Phing config/property files and then Phing handles the rest...”

neutral · production · dclaysmith · 2010-10-14 · source ↗ · wrong label?