I hate bash, but it's always the first thing I start scripting in when I need to glue some things together. I tend to go in the following order as complexity and a need for robustness increases.
1. Bash (or ysh, which I do prefer but isn't as available)
2. Python, using the `sh` package as needed. It's been great for upgrading shell scripts, and `sh` is really nice to use.
3. Rust, usually. That's my personal language of choice for "real" projects.
I have a number of projects at each stage actually, though most of the things I'd call a real "project" with it's own repo end up as Rust projects.