"¿Cuáles son las fortalezas de secuencias de comandos shell que lo convierten en una herramienta indispensable en comparación con Python?"
La cáscara no es indispensable. ¿Por qué cree que hay tantos? Bash, tcsh, CSH, sh, etc., etc.,
Python es una concha. No es la que uno 'utilización d para ejecutar todos comandos, pero las secuencias de comandos, es ideal.
Python es una parte más o menos estándar de todos los de distribución de Linux.
Las conchas más tradicionales de hacer demasiadas cosas.
Tienen una interfaz de usuario práctica para ejecutar comandos. Esto incluye comandos de una línea donde el shell busca su RUTA, bifurca y ejecuta el programa solicitado. También incluye canalizaciones, secuencias y programas concurrentes (usando ;
, |
y &
) así como algunas redirecciones (usando >
y <
).
Tienen una pequeña y horrible capacidad de lenguaje de programación para ejecutar scripts. Este lenguaje es bastante difícil de usar y extremadamente ineficiente. La mayoría de las declaraciones en este lenguaje requieren bifurcaciones de uno o más procesos adicionales, perdiendo tiempo y memoria.
Ejecutando programas desde el shell, redirigiendo 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 más clara como una secuencia de comandos de Python.
Necesita ambos. Sin embargo, nunca debe escribir un script con if-statements o loops en un lenguaje de shell tradicional.
1 y 2, buenos puntos. # 3 es una debilidad, ya que conduce a una gran cantidad de gastos generales que Python puede evitar. # 4 podría ser en gran parte falso. Python es parte de la mayoría de las distribuciones Linux ahora. –
No veo la sobrecarga. ¿Tienes algunos números? – Svante
En cuanto a Python, sí, está prácticamente disponible universalmente en Linux; todo el mundo no es una caja de Linux, sin embargo. Habiendo dicho eso, está disponible para cada plataforma tipo Unix. Sin embargo, en mi cuadro de Solaris, se instala algo fuera del camino (/ usr/sfw/bin/python); Solo encontré el directorio en el último año más o menos. –