„Jakie są mocne strony skryptów powłoki, które sprawiają, że jest to niezbędne narzędzie w porównaniu z Pythonem?”
Muszla nie jest niezbędna. Jak myślisz, dlaczego jest ich tak wielu? bash, tcsh, csh, sh itp.,
Python to powłoka. Nie ten, którego używałbyś do uruchamiania wszystkich poleceń, ale do tworzenia skryptów jest idealny.
Python jest mniej więcej standardową częścią wszystkich dystrybucji Linuksa.
Bardziej tradycyjne muszle robią zbyt wiele rzeczy.
Mają wygodny interfejs użytkownika do uruchamiania poleceń. Obejmuje to jednowierszowe polecenia, w których powłoka przeszukuje PATH, rozwidla i wykonuje żądany program. Obejmuje ona także rurociągi, sekwencji i programów współbieżnych (używając ;, |i &), jak również pewne przekierowanie (z wykorzystaniem >i <).
Mają kiepską, podobną do języka programowania możliwość uruchamiania skryptów. Ten język jest raczej trudny w użyciu i wyjątkowo nieefektywny. Większość wypowiedzi w tym języku wymaga rozwidlenia jednego lub więcej dodatkowych procesów, marnowania czasu i pamięci.
Uruchamianie programów z powłoki, przekierowywanie stderr do pliku dziennika i tego typu rzeczy są dobre. Zrób to w muszli.
Prawie wszystko inne można zrobić wydajniej i wyraźniej jako skrypt w Pythonie.
Potrzebujesz obu . Jednak nigdy nie powinieneś pisać skryptu z instrukcjami if lub pętlami w tradycyjnym języku powłoki.