Bash suffers from a few disadvantages
- Linux only
- quite complicated variable/parameters passing
which in my opinion make python a better choice for anything that is not a one liner.
On the other hand, learning bash and the basic Linux commands can be very useful for a programmer
- interface. the bash command line contains interface that is widely recognized and that has survived the test of time, meaning that you will be able to understand others programs and create programs that are more easily understandable. For example, if you name a method ‘find’, which does more or less the same as the Linux command, chances are that others will immediately understand and remember this, which is a crucial step to coping with complexity of programs.
- raw power. some standard bash utilities are so amazingly powerful for the amount of code that you have to write, that it is just worth learning it.