110 Stimmen

Stärken von Shell Scripting im Vergleich zu Python

Ich habe ein paar Mal versucht, Shell(Bash)-Skripte zu lernen, wurde aber von der Syntax vertrieben. Dann fand ich Python und konnte die meisten Dinge, die ein Shell-Skript kann, in Python erledigen. Ich bin mir jetzt nicht mehr sicher, ob ich meine Zeit in das Erlernen von Shell-Skripten investieren sollte. Deshalb möchte ich fragen:

Was sind die Stärken von Shell-Skripten, die sie im Vergleich zu Python zu einem unverzichtbaren Werkzeug machen?

Ich bin kein Systemadministrator von Beruf, aber ich interessiere mich für die Einrichtung von Linux-Systemen für Heimanwender, daher denke ich, dass das Erlernen von Shell-Skripten notwendig werden kann.

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 .

9voto

heltonbiker Punkte 24989

Ich stimme den meisten der vorherigen Antworten zu. Ich halte Shell-Befehle für am besten geeignet, um dateisystemorientierte Aufgaben zu erledigen (Kopieren und Verschieben von Dateien, grep usw.). Shell ist meiner Meinung nach besser geeignet, wenn Sie Dateien lesen und schreiben müssen, da ein einziger >>file.txt Umleitung wird sofort an die Datei angehängt, statt dass z. B., file=open('file.txt','a'); file.write() , usw.

Für meinen persönlichen Gebrauch mische ich derzeit beides, erstelle ein Python-Skript und rufe jedes Mal os.system('command') oder os.popen('command') auf, wenn eine Aktion in der Shell einfacher ist als in Python.

7voto

Brian Campbell Punkte 304982

Die Schale ist überall erhältlich. Wenn Sie sich an eine relativ grundlegende Reihe portabler Funktionen halten, können Ihre Skripte auf Mobiltelefonen, drahtlosen Routern, DVRs, Netbooks, Workstations, großen Servern und dergleichen laufen. Python ist auf vielen Systemen nicht unbedingt von Haus aus enthalten, und je nach Umgebung kann es schwierig sein, es zu installieren.

Das Erlernen von Shell-Skripten kann Ihnen auch helfen, einige Kommandozeilentricks zu lernen, denn die Kommandozeile ist, nun ja, die Shell. Sie ist auch gut geeignet, um eine ziemlich lange und komplizierte Befehlszeile in ein allgemeineres Skript umzuwandeln, nachdem Sie festgestellt haben, dass Sie es noch brauchen werden.

Die Shell hat auch einige ziemlich mächtige Funktionen; Pipelines sind ein wirklich interessantes Kontrollkonstrukt, das es meines Wissens nur in der Shell gibt.

5voto

nscott Punkte 51

Ein weiterer Punkt, der bei der Auswahl von Python-Shell-Skripten zu berücksichtigen ist, ist die Python-Version, die auf den Zielrechnern laufen wird. RHEL5 (um nur eines zu nennen) wird es noch lange Zeit geben. RHEL5 ist auf Python 2.4 festgelegt. Es gibt eine Menge netter Bibliotheken, die von Funktionen abhängen, die zu Python nach 2.4 hinzugefügt wurden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X