"¿Cuáles son los puntos fuertes de las secuencias de comandos de shell que lo convierten en una herramienta indispensable en comparación con Python?"
La cáscara no es indispensable. ¿Por qué crees que hay tantos? bash, tcsh, csh, sh, etc., etc.,
Python es un caparazón. No es el que usaría para ejecutar todos los comandos, pero para las secuencias de comandos, es ideal.
Python es una parte más o menos estándar de todas las distribuciones de Linux.
Las conchas más tradicionales hacen demasiadas cosas.
Tienen una práctica interfaz de usuario para ejecutar comandos. Esto incluye comandos de una línea donde el shell busca su PATH, bifurca y ejecuta el programa solicitado. También incluye pipelines, secuencias y programas concurrentes (usando; , |y &), así como algunos de redirección (usando >y <).
Tienen una capacidad parecida a la de un lenguaje de programación muy pequeño para ejecutar scripts. Este lenguaje es bastante difícil de usar y extremadamente ineficaz. La mayoría de las declaraciones en este lenguaje requieren la bifurcación de uno o más procesos adicionales, lo que desperdicia tiempo y memoria.
Ejecutar programas desde el shell, redirigir stderr a un archivo de registro y ese tipo de cosas es bueno. Haz eso en el caparazón.
Casi todo lo demás se puede hacer de manera más eficiente y clara como una secuencia de comandos de Python.
Necesitas ambos . Sin embargo, nunca debe escribir un script con sentencias if o bucles en un lenguaje shell tradicional.