Bash is a underappreaciated language. It falls into this same category as Makefile where developers learn just enough of it to complete their tasks. As a result most of the bash code out there is written by beginners. Which then in turn gives a bad reputation to the language.
The number one issue with Bash is variable escaping. If a variable is used in it’s unescaped form and contains one or many whitespace characters in it, it creates undefined behaviour in the program.
Bash gets a unecessarily bad reputation because of escaping issues. These are moslty avoidable by using Bash arrays, and ShellCheck.
Even after coding for a long time, I still have to search for how to do things. The Pure Bash Bible has turned that search way down.
[[Shab]] - 5 lines pure-bash templating language The way of Bash - Twitter account I maintain loosely to post about bash things.
_____ < EOF > ----- \ (\/) \ (_o | / | \ \______ \ )o /|----- | \| /|