Here's the short version of the Advanced Bash Scripting Guide: "Use Python".
Long bash scripts are less readable and maintainable than python scripts.
Long bash scripts are less readable and maintainable than python scripts.
prog1 2> prog1.log | prog2 2> prog1.log | prog3
in Python is not nearly so succinct as in the shell (using only Python's standard library). And don't screw up waiting for processes or flushing buffers, things that the shell takes care of for you AFAIK.On the other hand, things like string or date manipulation are easier in Python than in the shell.
I personally only use Bash when the script is just a trivial translation of commands I enter.