Oh please, don't get me started on this.<p>Bash is much more powerful than it's usually thought of (I wrote a decent chunk of bash code, there are middle-sized projects like DKMS written in bash, etc), but still it's a language for a narrow niche (file-management and gluing other tools) with a lot of limitations:<p>- very weak data structures support: no trees, no decent maps (`declare -A` seems to be searched in linear time), no arrays-in-arrays;<p>- no typing at all, everything is a string;<p>- it does not have a complete standard, very much behavior is implementation-specific;<p>- heavy dependence on external tools (they're like libraries in modern languages);<p>- stunning amount of pitfalls in syntax and corner cases, escaping hell (e.g.: `scp host:"File\\ name\\ with\\ spaces" .`).<p>Although I have to say that multiple jobs orchestration is amazing for a language from 70ths.