What about Ruby and Perl and their ability to shell out as easily as you do in a shell? (with backticks)
You have a real language available with (arguably) fewer weird things and warts to be aware of or remember, better string manipulations and lots of other advantages, but if you really just want to send something through `awk` or `bc` you can do that just as easily as you do in bash and capture the result in a Ruby or Perl variable.
Seems like a win-win situation. (Unless you have an exceptional circumstance with requirements about running anything but shell scripts or something like that.)
I write quite a few Ruby utilities (for myself) and this is what I do: use backticks to harness the power of shell utilities, but have Ruby glue to do more complex tasks with those tools.
For example, I recently wrote a quick Ruby script to test various parts of my internet connection (ping default gateway, test DNS resolution, etc) because I was bored and my internet connection was down. I used backticks to do things like grab a nameserver from /etc/resolv.conf and then ping the server, but I had the surrounding Ruby code doing things like parsing the output using regular expressions and doing some logic on the results.
Sure, I could have written the thing in pure bash, but Ruby has better text manipulation capabilities when it comes to things like parsing (in my opinion), and with the backticks, I still was able to harness the power of the shell anyways.
I'm not sure how portable such solutions are, but for a home-grown testing program written on a whim out of boredom, it was certainly enjoyable to have both the power of Ruby and the shell available.
You have a real language available with (arguably) fewer weird things and warts to be aware of or remember, better string manipulations and lots of other advantages, but if you really just want to send something through `awk` or `bc` you can do that just as easily as you do in bash and capture the result in a Ruby or Perl variable.
Seems like a win-win situation. (Unless you have an exceptional circumstance with requirements about running anything but shell scripts or something like that.)