Hallo zusammen,
gibt es eigentlich eine textbasierte IDE für bash oder python?
Also eine Möglichkeit, Code Zeile für Zeile auszuführen und dabei auch den Inhalt von Variablen zu untersuchen?
Grüße Ragoutc
|
Anmeldungsdatum: Beiträge: 127 |
Hallo zusammen, gibt es eigentlich eine textbasierte IDE für bash oder python? Also eine Möglichkeit, Code Zeile für Zeile auszuführen und dabei auch den Inhalt von Variablen zu untersuchen? Grüße Ragoutc |
||||
|
Anmeldungsdatum: Beiträge: 11278 |
Für Python gibt es mit pdb einen Debugger: https://docs.python.org/3/library/pdb.html - damit kann man gezielt Breakpoints setzen, Variablen beobachten, Code in Einzelschritten ausführen usw. - ich mag das Debugging-Interface, das VS Code darauf aufbauend anbietet und es gibt für fast jeden besseren Editor bzw. IDE Möglichkeiten pdb anzubinden, wenn man da andere Vorlieben hat. Ansonsten reicht es ggf. schon Python in den REPL droppen zu lassen, wenn das Skript durchgelaufen ist bzw. eine Exception geworfen hat - stell dir z.B. sowas vor:
Und dann startest du das Skript so: $ python3 -i test.py
-2
-3
-4
-5
-10
Traceback (most recent call last):
File "/home/alexander/projects/python/test/test.py", line 4, in <module>
print(10 // divisor)
ZeroDivisionError: integer division or modulo by zero
Darauf hin landest im REPL, sobald das Skript den ZeroDivisionError geworfen hat, kannst dir den Wert von
Eine andere Möglichkeit wären IPython bzw. bpython, die beide einen etwas aufgebohrten REPL bieten mit der Möglichkeit sich schrittweise einem funktionierenden Skript anzunähern ohne den Umweg über extra Textdateien gehen zu müssen. Für die Bash gibt es da auch Möglichkeiten zum Debugging, aber da ist die Introspektion stärker eingeschränkt, vgl. z.B. https://www.baeldung.com/linux/debug-bash-script |
||||
|
Projektleitung
Anmeldungsdatum: Beiträge: 13242 |
Ich nutze zum Debuggen von Shell-Skripten gerne diese Konstruktion:
Dann kann man das Skript z.B. auf eine dieser Arten aufrufen und erhält die Ausgaben aller ausgeführten Kommandozeilen:
Man kann natürlich auch direkt mit der Shell aufrufen, z.B. PS: für die |
||||
|
Anmeldungsdatum: Beiträge: 181 |
Für Z-Shell gibt es zshdb. Für Bash gibt es zwar auch bashdb, aber nicht in Ubuntu (nur ein Paket für 18.04 ist in diesem PPA vorhanden). ShellCheck ist oft auch sehr hilfreich. |