Bash est un Shell Unix qui comprend un langage de script. Il s'agit plutôt d'un processeur de commandes. vous contrôlez la façon dont vous exécutez les commandes, vous les exécutez réellement.
Perl/Ruby/Python sont des langages à usage général.
Lorsque vous voulez un Shell Shell, vous utilisez Bash
Si vous voulez une tâche plus complexe ou non liée à Shell. Utilisez Python, etc.
Je ne comparerais jamais ces langues en fait. Python, etc. sont portables. Vous pouvez les exécuter n'importe où. Bash est réservé à Unix.
Python, etc. ont des tonnes de bibliothèques réutilisables permettant de résoudre des millions de tâches.
C'est presque la même chose si vous demandez. "Quand utiliser Paint et quand utiliser Photoshop"
Pour le traitement des courriers électroniques, j'utiliserais Ruby, encore une fois, parce qu'il dispose de nombreuses bibliothèques réutilisables.
Mais le meilleur moyen serait de combiner bash et ruby. Ce serait juste. Comme si vous créiez un traitement d'email script dans ruby et bash script invoquerait ce ruby script et exécuterait d'autres commans ds.
Ainsi, lorsque vous avez besoin d'un processeur de commande, vous utilisez bash. Vous exécutez les commandes Unix et les contrôlez.
MISE À JOUR après 7 ans (mars 2019)
Bien que l'essentiel de ma réponse n'ait pas changé, je tiens à souligner que.
Bash est également un puissant langage de script. Pour le traitement de texte, il pourrait être un choix tout à fait légitime.
Veuillez lire les commentaires de mkaito ci-dessous. Ils sont tous complètement vrais.