Bash est pratique en administration système. Pas propre, pas lisible, mais tellement pratique. Faut juste savoir quand on atteint ses limites.
Bash a deux façon d’être utilisé : la première, à l’arrache, très pratique pour les one-liners et scripts sur le coin de la table bourrés d’astuces du langage, mais qui permettent de résoudre rapidement et ponctuellement une problématique. Et là Python ou autre est totalement inadapté (même s’il existe des modules propres, je vous mets au défi d’utiliser Python comme shell interactif…).
La seconde, plus propre et lisible, consiste à simplement mettre des bouts d’algos autour de commandes (et il faut bien le voir comme ça), pour simplifier des tâches récurrentes. Là Python ou autre peut sans doute le remplacer, mais est-ce vraiment utile ? Et serait-ce vraiment plus pratique, quand ton script appelle énormément de commandes externes, manipule beaucoup de fichiers, dossiers, etc.
Après, je dis ça mais je suis un mauvais exemple, j’abuse de Bash dans des situations où il est totalement inadapté (cf. https://git.breizh.pm/Breizh/files.breizh.pm), mais c’est le langage que je maîtrise le mieux…
Du coup je m’adresse aux administrateurs système (et uniquement à eux : les devs qui font du code propre ont forcément des reproches à faire à Bash, et je comprends tout à fait — je serais le premier à gueuler contre un dev qui coderait un programme comme on fait un one-liner ou un script jetable en Bash – mais du coup inversement, je demande à ce qu’on comprenne bien que c’est pas le même usage) : quelles alternatives à Bash utilisez-vous (en interactif ou en script) si vous le trouvez mal fichu ?
Et j’aimerais bien voir une comparaison de scripts identiques mais écrit en Bash vs. Python (ou autre). Le soucis c’est que la plupart des miens sont soit très simples (où Bash a toute sa place, selon moi, si vous pensez le contraire, je peux donner des exemples) soit très complexes (où je sais très bien que Python fera mieux), ceux où la distinction est plus difficile ont été fait dans le cadre de mon taf, je ne peux les partager comme ça… :/