Assuming you've already paid the not-insignificant upfront cost to learn Bash
Which is precisely the sticking point with bash.
The learning curve to do bash even adequately right, while perhaps not too steep - is definitely quite slippery. And (as you apparently point out also) once you've done the time (and misery), it unfortunately does not yield anywhere near to productivity benefits in other domains, compared to the the other languages mentioned.
> The learning curve to do bash even adequately right, while perhaps not too steep - is definitely quite slippery.
Haha, yep.
I think a good metric for the difficulty of a technology is how awful StackOverflow answers and code snippets are. Bash, C, and CMake are the worst in my experience, in that order. :p
> it unfortunately does not yield anywhere near to productivity benefits in other domains, compared to the the other languages mentioned.
I assert that this depends on what you're doing.
If you're doing general programming (e.g., making an application for end users), a general purpose language will be better than a command language.
If you're doing system programming (e.g., an automation or installation script), a command language will be better than a general purpose language.
Bash is Unix's command language. If I rewrote my maintenance scripts in Python, they'd be these awkward wrappings around Linux commands that Python naturally treats as second-class citizens. My Bash scripts are much better to work with, and I feel more productive with it in systems work than Python. It's awkward and weird, but that's probably inherent to being a useful and compact command language.
The thing about scripting in bash is that it builds on top of all the other CLI things that you've done or tend to do. What you do on the CLI can easily be automated via scripting in bash.
But if you never ever use the CLI, then scripting in bash is going to be more alien to you.
Which is precisely the sticking point with bash.
The learning curve to do bash even adequately right, while perhaps not too steep - is definitely quite slippery. And (as you apparently point out also) once you've done the time (and misery), it unfortunately does not yield anywhere near to productivity benefits in other domains, compared to the the other languages mentioned.