"Was sind die Stärken von Shell Scripting, die es im Vergleich zu Python zu einem unverzichtbaren Werkzeug machen?"
Die Schale ist nicht unerlässlich. Warum, glauben Sie, gibt es so viele? bash, tcsh, csh, sh, etc., etc,
Python es eine Muschel. Nicht die, die Sie zum Ausführen von alle Befehle, aber für die Skripterstellung ist es ideal.
Python ist ein mehr oder weniger standardmäßiger Bestandteil aller Linux-Distributionen.
Die traditionelleren Muscheln machen zu viele Dinge.
-
Sie verfügen über eine praktische Benutzeroberfläche zur Ausführung von Befehlen. Dazu gehören einzeilige Befehle, bei denen die Shell Ihren PATH durchsucht, sich gabelt und das angeforderte Programm ausführt. Sie umfasst auch Pipelines, Sequenzen und nebenläufige Programme (mit ;
, |
y &
) sowie eine gewisse Umleitung (mit >
y <
).
-
Sie verfügen über eine schäbige kleine programmiersprachenähnliche Fähigkeit zur Ausführung von Skripten. Diese Sprache ist ziemlich schwer zu benutzen und extrem ineffizient. Die meisten Anweisungen in dieser Sprache erfordern das Forking eines oder mehrerer zusätzlicher Prozesse, was Zeit und Speicher vergeudet.
Das Ausführen von Programmen über die Shell, das Umleiten von stderr in eine Protokolldatei und dergleichen ist gut. Machen Sie das in der Shell.
Fast alles andere lässt sich effizienter und übersichtlicher in einem Python-Skript erledigen.
Sie brauchen beides . Sie sollten jedoch niemals ein Skript mit if-Anweisungen oder Schleifen in einer traditionellen Shell-Sprache schreiben.
2 Stimmen
Neben Python gibt es noch andere Möglichkeiten. Kotlin unterstützt die Skripterstellung und kann eine gute Alternative zu Python sein, da es sowohl prägnant (wie Python) als auch typsicher ist. Wie bei Python müssen Sie sicherstellen, dass der Kotlin-Compiler auf Ihrem Computer installiert ist. Siehe eine Kotlin Hallo-Welt-Skript hier und eine Skript der realen Welt mit Bibliotheksabhängigkeiten hier . Außerdem ist Kotlin jetzt verfügbar auf GitHub Actions Umgebungen .