Gibt es bekannte und häufig verwendete Shell-Scripting-IDEs für Un * x?

Gibt es IDEs, die auf Shell-Skripte abzielen, insbesondere Bash- und Zsh-Skripte? Dies bedeutet Syntaxhervorhebung für Shell-Skripte und vor allem Debugging-Umgebungen mit Funktionen wie Haltepunkten, Überprüfung und Änderung von Variablen usw., genau wie sie für reguläre Programmiersprachen wie Python, Java und C verfügbar sind.

Zum Beispiel hat Microsoft Windows Powershell IDEs wie Powershell Plus und PowerGui .

Beim Googeln wurde eine Kombination aus ShellEd , einem Eclipse-Plugin zum Bearbeiten von Shell-Skripten, angezeigt. und BashEclipse , ein Bash-Debugger, der mit ShellEd funktioniert; Ich habe es noch nicht ausprobiert.

Gibt es andere Shell-Scripting-IDEs für Un * x, die dieser Kombination ähneln? Hat jemand Erfahrung mit ihnen?

Kommentare

  • Ich habe nicht abgelehnt, aber wer auch immer, hat dies getan, weil Sie keine Frage stellen. Die einzige Frage in Ihrem Beitrag kann mit Ja / Nein beantwortet werden. Was fragen Sie tatsächlich? „Wie funktionieren diese Programme? Was tun sie? Was versuchen Sie genau zu tun?
  • Eine Bash-IDE? Kernspaltung, um Wasser für Tee zu kochen …
  • Eigentlich haben Ein Bash-Debugger ist eine sehr gute Idee – genau wie bei jeder Programmiersprache ist Ihr Code besser, wenn Sie langsam durch jede Zeile im Debugger gehen, die Variablen untersuchen, überlegen, was der Code tut usw. Ein Debugger ist Der beste Weg, dies zu tun, selbst wenn Ihr Programm oder Skript ‚ keine Fehler aufweist. Sie können in den meisten Distributionen bashdb erhalten, wodurch Sie dies im Textmodus tun können kann der alternde DDD-Grafik-Debugger Sie müssen mit bashdb arbeiten, damit Sie eine “ visuelle “ Erfahrung haben.
  • Ja, das kann man sicher TU das. Und viele tun es, und so kommen sie jahrelang mit ‚ zurecht. Wenn das zu Ihnen passt, würde ich ‚ nicht versuchen, Sie anders zu überzeugen. Meiner Meinung nach ist es ein minderwertiger Ansatz, der das Gehirn mit Aufgaben von geringem Wert belastet (wie das mentale Verfolgen der Werte von Variablen usw.). Die Idee einer guten Debugger-Benutzeroberfläche macht diese Zyklen frei, um über das Programm nachzudenken. Nach meiner Erfahrung ist dies wichtig – Sie können sich mehr darauf konzentrieren, darüber nachzudenken, was das Programm tut, wenn Sie ‚ weniger davon für solche Dinge ausgeben.
  • Für diejenigen von uns mit Wasserkochern oder Herden in den USA oder Europa wird ein Großteil unserer Grundlaststromerzeugung durch Kernkraftwerke geliefert. Wenn wir also Wasser für Tee kochen, verwenden wir zumindest teilweise die Kernspaltung .

Antwort

Ich würde nicht sagen, dass es entweder bekannt oder gut verwendet ist, aber Sie könnten eine haben Schauen Sie sich basheclipse an:

Geben Sie hier die Bildbeschreibung ein

Ich muss zugeben, dass ich keine Erfahrung mit Basheclipse habe und es aufgrund einer Nichtübereinstimmung der Eclipse-Version sogar nicht installiert habe.

Andererseits verwende ich bash- und ksh93-spezifische Debugging-Funktionen, insbesondere die trap ERR und trap DEBUG, aber nicht die darauf basierenden Debugger kshdb und bashdb

Kommentare

  • Ich finde es ziemlich ironisch, dass Ihr Screenshot ein Fenster im Windows-Stil zeigt.
  • @NigelNquande Um ehrlich zu sein, ‚ m ist kein Basheclipse-Benutzer (oder Eclipse-Benutzer). Ich verwende definitiv Debugging-Funktionen von ksh93 und bash, aber keine GUI. Dieser Screenshot stammt von der Basheclipse-Site. Es könnte sich um ein Gnome-Thema oder nur um einen echten Windows 7-Screenshot handeln, wenn die Zeile OS = “ cygwin “ angegeben ist.
  • Nun, IMO, wenn Sie ‚ etwas tun wollen, tun Sie dies mit Stiefeln, nicht mit einem halben ed (aber dem ‚ ist weder hier noch da für andere). bash unter Windows scheint mir eine halbe Sache zu sein, wenn es unter GNU / Linux einwandfrei funktioniert.
  • @NigelNquande Wie ich schrieb, ist dies isn ‚ ein Screenshot von mir. In jedem Fall verwende ich bash nur unter Windows, wenn ich keine andere Wahl habe und cygwin ist sehr effizient, um das zugrunde liegende Betriebssystem auszublenden.
  • @ user7000 Ich habe und konnte es sogar aufgrund einer Nichtübereinstimmung der Eclipse-Version nicht installieren , aber ich ‚ kann mich nicht erinnern, um welche Eclipse-Version es sich handelte. Ist jedoch dokumentiert, dass es mit Eclipse 4.5.2 funktioniert: sourceforge.net/projects/basheclipse/files/?source = navbar

Antwort

Eine speziell entwickelte IDE würde den Zweck von irgendwie zunichte machen Shell-Skripte, ganz zu schweigen davon, dass dies fast unmöglich ist, da Shell hauptsächlich externe Befehle aufruft – wie debuggen Sie das? Das Debuggen mit Prüfpunkten ist für eine Shell nicht intuitiv – Shell-Skripte arbeiten normalerweise stark mit Dateien und daher haben bei jedem Aufruf zerstörerische Nebenwirkungen. Scripting BY DESIGN funktioniert zeilenweise, sodass Ihre „Umgebung“ tatsächlich das Terminal selbst ist – Sie können immer Variablen wiedergeben, Ihre Umgebung ist immer für Sie da, es gibt keinen „vorgeschriebenen Ablauf“. Sie müssten nach und nach unterbrechen, was Sie wollen, Zeile für Zeile, jedes Mal testen, ob Sie das bekommen, was Sie wollten, und diese Zeilen dann in ein Skript einfügen, um sie erneut zu verwenden. Jede IDE würde eigentlich nur das meiste von dem deaktivieren Sie können dies in der Shell selbst tun.

Für vollqualifizierte Skriptsprachen (Python, Perl usw.) haben Sie eine ll dies, aber bash / zsh / ksh / … sind interaktiver „Kleber“ für andere Befehle und ihre eigenen Debugger.

Die meisten Texteditoren markieren jedoch den Code für Sie und emacs wird (vorausgesetzt, Sie finden die richtigen Pakete, ich habe mich nie darum gekümmert, dies für Shell-Skripte zu tun) eine programmierbare Schlüsselwortvervollständigung bereitstellen. Ich glaube, vi kann das auch (bitte hier keinen Flammenkrieg starten).

Kommentare

  • Wie definieren Sie eine “ vollqualifizierte Skriptsprache? “
  • @TrevorSullivan auf seine eigene Weise Geben Sie bitte nicht ‚ t dem Hass nach.
  • @Det: Es war eine legitime Frage – wenn wir sind sich nicht alle über eine gemeinsame, konkrete Definition des Ausdrucks einig, dann könnten wir genauso gut keine Diskussion darüber führen. Ich ‚ bin nur neugierig, was damit gemeint ist Diese Phrase.
  • Ich bin ‚ nicht damit einverstanden, dass IDEs den Zweck von Shell-Skripten zunichte machen. Möglicherweise möchten Sie Ihre Shell-Skripte bereinigen (z Nicht verwendete Variablen – das ist es, was ich ‚ versuche, um meine System V Init-Skripte zu bereinigen, die unnötig lang werden, insbesondere wenn sie von vorhandenen dupliziert werden Beispiele).
  • Ich würde das auch hinzufügen und IDE bietet Intellisense oder andere Tools, damit ich ‚ nicht weiter googeln oder Manpages ansehen muss, um mich an einige zu erinnern Zeug. Außerdem kann ich alle meine Skripte in einem Projekt zusammenhalten, Zeilen überschreiten, eingehende Argumente überprüfen, Schleifen und Schalter testen, ein Rohr zur Überprüfung auseinander brechen usw.

Antwort

Ich unterstütze auch die Idee, eine IDE für Bash-Skripte zu verwenden.

Mit dem Jupyter-Notizbuch können Bash-Skripte geschrieben werden.

Das Jupyter-Notebook kann über anaconda installiert werden, während ein Bash-Kernel für das Jupyter-Notebook (oder Jupyterlab) mit den folgenden Befehlen installiert werden kann ( Quelle ):

pip install bash_kernel und

python -m bash_kernel.install

Danach können Sie bash auf einem neuen Launcher auswählen Instanz von Anaconda Navigator, wie unten gezeigt.

Das einzige ist, dass es (soweit ich weiß) nicht mit Befehlen funktioniert, die Sie in die Eingabeaufforderung eingeben müssen, wie z. B. read oder ein anderes Argument, das Sie nach dem Aufrufen des Skripts übergeben. Davon abgesehen funktioniert es ziemlich gut.

Geben Sie hier die Bildbeschreibung ein

Antwort

ist selbst auf dieses Problem gestoßen. Das bedeutet, dass ich nach der Bash-Skript-IDE gesucht habe. Es gibt viele Plugins in der populären IDE genau wie Eclipse und viele andere. Aber es ist eine Menge Arbeit, sich mit IDEs zu befassen, nur um kleine Bash-Skripte zu erstellen. Andererseits verursacht die Arbeit mit Editoren viele Syntaxfehler und Zeitverschwendung, ganz zu schweigen davon, dass es überhaupt keinen Spaß macht.

Also habe ich ein Online-Bash-Skript-Tool zum Erstellen von Skripten gefunden. Es heißt http://bashops.net . Wenn Sie online sind, können Sie sofort mit dem Erstellen eines Bash-Skripts beginnen, ohne mit einer Installation beschäftigt zu sein.

Antwort

Ich möchte Schlagen Sie die PyCharm Community Edition mit dem Plugin BashSupport vor. Dies hat ausgezeichnete IDE-Funktionen mit Intellij Intellisense.

Antwort

Rogalmic hat VSCode-Plugins für bashdb und zshdb .

Sie basieren auf meinen Debuggern für bash und zsh . Daher behandeln sie viele der Edge-Fälle, die beispielsweise im Eclipse-Debugger für Bash fehlen.

Antwort

Probieren Sie diese Site aus. Ich suche auch das Gleiche und möchte in der Lage sein, das Skript zuerst zu testen und mein System nicht zu beeinträchtigen. Dies ist ein Online-Editor für Bash.

https://repl.it/languages/bash

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.