Bash est un shell Unix qui comprend un langage de script. C'est plutôt un processeur de commande. 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.
Quand vous voulez un script shell, vous utilisez Bash
Si vous voulez une tâche plus complexe ou sans rapport avec le shell. Utilisez Python etc.
Je ne comparerais jamais ces langues en réalité. Python etc. sont portables. Vous pouvez les exécuter n'importe où. Bash est uniquement pour Unix.
Python, etc. ont des tonnes de bibliothèques réutilisables qui résolvent des millions de tâches.
C'est presque pareil si vous le demandez. "Quand utiliser Paint et quand utiliser Photoshop"
Pour le traitement des courriels, j’utiliserais encore Ruby, car il contient de nombreuses bibliothèques réutilisables.
Mais le meilleur moyen serait de combiner bash et rubis. Ce serait juste. De la même manière que vous créez un script de traitement de courrier électronique en ruby et en script bash, ce script ruby est appelé et les autres commans exécutés.
Donc, chaque fois que vous avez besoin d'un processeur de commande, vous utilisez bash. Vous exécutez des 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 voudrais le souligner.
Bash est également un puissant langage de script. Pour le traitement de texte, cela pourrait être un choix légitime.
S'il vous plaît lire les commentaires de mkaito ci-dessous. Ils sont tous complètement vrais.