Si vous êtes confronté à un problème que les deux peuvent traiter, vous voudrez utiliser celui avec lequel vous êtes le plus à l'aise. En définitive, il y a beaucoup de petits détails, et seule l'expérience peut vous apprendre à les voir.
Bash est un langage de script à usage général, tout comme Python, Ruby et Perl, mais chacun d'eux possède des atouts différents. Perl excelle dans l'analyse de texte, Python prétend être le plus élégant du groupe, les scripts de Bash sont excellents pour "faire circuler des trucs", si vous voyez ce que je veux dire, et Ruby... eh bien, Ruby est un peu spécial à bien des égards.
Cependant, les différences entre eux ne sont vraiment importantes que lorsque vous avez une bonne dose d'expérience en matière de script. Je vous suggère de choisir un langage et de le pousser à ses limites avant de passer au suivant. Vous pouvez faire beaucoup dans un Shell Shell, plus que la plupart des gens ne veulent l'admettre. Tout langage est aussi difficile que vous voulez le rendre. Une fois que vous avez écrit quelques choses dedans, chaque langage vous semble "facile".
Être familier avec le Shell paie rapidement si vous vivez sous Linux, alors peut-être que vous voulez commencer avec cela. Si vous trouvez une tâche qui est impossible ou peu pratique à résoudre dans un Shell Shell, utilisez autre chose.
Gardez également à l'esprit que l'apprentissage du script Shell est très simple. La véritable puissance de celui-ci réside dans d'autres programmes, comme awk, sed, tr, et autres.