php vs bash für CLI-Skripting? [geschlossen]

7

Ich habe noch nie PHP mit CLI benutzt, aber ich habe gesehen, dass Skripte mit PHP-Code laufen.

Ich frage mich, warum sollten wir Bash verwenden, wenn PHP so beliebt ist und in CLI laufen kann.

Was sind die Vor- und Nachteile von jedem?

sollte ich PHP für alle CLI-Scripting in der Zukunft verwenden?

    
never_had_a_name 06.05.2010, 23:17
quelle

8 Antworten

7

Es ist immer noch viel einfacher, viele allgemeine Aufgaben in bash auszuführen. Erwägen Sie, PHP-Entsprechungen für die folgenden Bash-Einzeiler zu schreiben:

%Vor%     
too much php 06.05.2010, 23:29
quelle
4

Bash ist häufiger für diese Art von Anwendung, einfach weil es für immer da ist. Aber wenn es darum geht, eines über das andere zu wählen. Die Sprache, die Sie bereits kennen, ist normalerweise die bessere Wahl. Nur weil Sie produktiver sein werden.

    
Steve Robillard 06.05.2010 23:20
quelle
3

PHP ist nur besser im Webverzeichnis. Bash eignet sich besser zur Verarbeitung von Befehlszeileneingaben und der allgemeinen Shell-Semantik IMO.

    
chiggsy 06.05.2010 23:21
quelle
3

Ich denke, Python ist besser als PHP für CLI.

Wenn Sie noch nie PHP verwendet haben, empfehle ich Python, weil PHP ursprünglich für die Webentwicklung entwickelt wurde, um dynamische Webseiten zu erzeugen, und für Python ist es großzügiger und betont die Lesbarkeit von Code.

    
zhongshu 06.05.2010 23:24
quelle
2

Ich denke, die Hauptsache ist: Bash ist immer auf einem aktuellen Unix-System (seine Vorgänger sind wirklich immer da, sogar auf alten Unixen). Bash verwendet jedes kleine Dienstprogramm auf dem System, das PHP, Python, Ruby, AWK, Perl (besonders die letzten zwei) enthalten kann.

Überlegen Sie: Wie bekommen Sie PHP installiert? Ein Haufen Bash-Skripte und ein Makefile, richtig? Oder Ihr OS-Paket-Manager, der in diesen Tagen wahrscheinlich Python ist, aber auch ein Bash-Skript war.

Sie können Unix nicht verwalten, ohne die Shell wirklich gut zu kennen, noch können Sie Makefiles schreiben oder benutzen. Es ist vielleicht nicht immer die richtige Antwort, aber für einen Scripting-Job versuche ich immer herauszufinden, ob es zuerst in bash gemacht werden kann.

    
Andrew McGregor 06.05.2010 23:40
quelle
2

Für allgemeine Aufgaben-Skripts würde ich vorschlagen, Bash den ganzen Weg zu gehen.

Bash ist wahrscheinlich die am weitesten verbreitete Shell und Ihr Skript wird in der Lage sein, auf den meisten * nix-Systemen zu laufen. Im Gegensatz dazu wird PHP nicht immer verfügbar sein. Natürlich, wenn Sie nicht vorhaben, diese Skripte über ein unbekanntes System zu verwenden, werden Sie mit beiden in Ordnung sein.

Das heißt, die meisten Standard-Shell-Befehle sind leichter in bash als in php zu schreiben. In PHP würden Sie einen Teilprozess öffnen, Shell-Befehle über einige Wrapper-Funktionen ausführen oder was nicht, während Sie in bash einfach Ihre bash-Sitzung in einer Datei aufzeichnen würden und es ausführbar machen würden. Nehmen Sie zum Beispiel die Auflistung eines Verzeichnisses, in bash geben Sie einfach ls an und in php würden Sie wahrscheinlich scandir verwenden das ist nicht lustig, wie es sich anhört. Auch würde ich mir vorstellen, dass Scandir viel weniger Sortiermöglichkeiten hat. grep -Ri something . anyone?

Die meisten allgemeinen Sprachen können für das Shell-Scripting verwendet werden, aber das bedeutet nicht, dass sie am Ende des Tages sein sollten, um die Aufgabe zu erledigen und eine Sache der subjektiven Präferenz.

>     
Davor Lucic 06.05.2010 23:35
quelle
1

Vorzug hauptsächlich.

Höhere Sprachen (wie PHP) haben bessere Datenstrukturen (unter anderem). Es ist jedoch ziemlich einfach, ein funktionierendes Bash-Skript zu hacken.

Also, wirklich, es liegt an dir.

    
dlamotte 06.05.2010 23:20
quelle
-1

Ich selbst habe mir das selbst angeschaut, als ich ein Upgrade für ein großes LMS mache, das über diesen Link gekommen ist und ein anderes, das zu einem Proformance-Test geführt hat. Ich dachte, ich würde diesen Link zu dieser Beitrag. während es Aufgabe ist nicht ein Beispiel der realen Welt zeigt es einige interessante Statistiken.

    
Gerry 13.06.2012 05:54
quelle