Shell entwickeln

TRex

Mitglied
Hallo,
ich beabsichtige eine Shell (ähnlich der BASH) mit wenigen Kommandos zu entwickeln. Hat jemand eine Idee oder Lösungsansatz? Gibt es evtl. Sourcecode den man übernehmen oder partiell verwenden kann? Die Suche mit Google "Bash / Shell entwickeln" hilft leider nicht.
 

Bitfehler

Bekanntes Mitglied
Was heißt mit wenigen Kommandos? Sollen das eigene Kommandos werden?

Da ich nicht genau weiß, was du alles mit deiner Shell abdecken möchtest, bin ich mir nicht sicher, ob Java die richtige Sprache dafür ist. In C++ würdest du neben Funktionen für das Einlesen von Strings und einer entsprechenden Ausgabe auf jeden Fall die Befehle fork(), execv() und wait brauchen. Mit fork wird ein Kindprozess erzeugt. Auf dem so entstandenen Adressraum kannst du mit mit execv() "rumarbeiten". Wird das Kind wieder beendet, müsste dieses evtl von einem Signal-Handler gemeldet und anschließend eingesammelt werden. Da ein Prozess mehrere Kinder erzeugen kann und diese evtl auch im Vorder- oder Hintergrund laufen, wird auch noch wait() benötigt.
Literatur habe ich nicht zur Hand, die genannten Befehle sind keine Java-Befehle.
 

Blender3D

Top Contributor
Meinst du mit wenigen Kommandos auch das Auswerten von mathematischen Ausdrücken. z.B. a=a+1
falls ja kommst Du nicht umhin eine Parser zu schreiben. Ich arbeite gerade an einem kleinen Rechner, der mathematische Ausdrücke versteht und habe mich für einen handgeschriebenen Lexer und Parser entschieden. Es gibt dafür auch Tools wie Lex & Yacc. Für Java gibt es z.B. den Parsergenerator JavaCC.
Ich selbst habe diesen noch nicht verwendet. Hier der Link https://javacc.java.net/
 

TRex

Mitglied
Vielen Dank für eure Antworten!
In meiner Oberfläche mit Eingabeprompt möchte ich eingegebene Kommandos nach drücken der Entertaste ausführen.

Beispielhaft möchte ich ein paar Kommandos aufführen, die auf jedenfall funktionieren müssen.
  • echo
  • ls
  • pwd
  • cat
  • wc
  • clear
  • |
  • >
  • >>
  • <
Mathematische Ausdrücke möchte ich auch nach BASH-Style auswerten, z.B. echo $((4+3))
Für die aufgeführten Kommandos beabsichtige ich jeweils eine eigene Klasse schreiben, ich habe gehofft, dass jemand bereits Erfahrungen in diesem Gebiet hat bzw dass es evtl. quelloffenen Sourcecode gibt. Man musss ja nicht alles neu erfinden... ;)
 

TRex

Mitglied
@thecain: vielen Dank für Deine Infos.

Als Hintergrundinfo, ich möchte ein Übungsprogramm zur Vorbereitung auf die LPIC erstellen. Ich finde es wann man die Themen an einer Konsole übt, statt viel lesen und Ankreuzfragen beantworten. Daher meine Frage...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Setzen von der Schriftgröße bei einem Shell AWT, Swing, JavaFX & SWT 15
S SWT Shell durch Event in der Größe verändern AWT, Swing, JavaFX & SWT 7
W SWT keybinding ESC bzw. [x] bei Shell (modal) AWT, Swing, JavaFX & SWT 2
W SWT, Shell - setMaximumSize AWT, Swing, JavaFX & SWT 2
lumo SWT Shell größe ändern... AWT, Swing, JavaFX & SWT 4
lumo SWT Shell & Menu AWT, Swing, JavaFX & SWT 2
H shell in view implementieren; menu mit keystroke unterlegen AWT, Swing, JavaFX & SWT 8
hdi SWT Zwei mal Shell öffnen = Exception AWT, Swing, JavaFX & SWT 6
HaukeG SWT Grundsätzliches über Composites, Shell und Displays AWT, Swing, JavaFX & SWT 2
C SWT Shell update probleme - Mausbewegung nötig AWT, Swing, JavaFX & SWT 2
hdi SWT Shell: Auslagerung von Code verändert Verhalten AWT, Swing, JavaFX & SWT 6
M SWT Mutter-Shell blocken während Tochter-Shell noch offen ist AWT, Swing, JavaFX & SWT 6
E NoClassDefFoundError beim Starten einer Shell AWT, Swing, JavaFX & SWT 3
S SWT Lösen mit Shell, Container oder Group? AWT, Swing, JavaFX & SWT 5
M Shell vs. Composite AWT, Swing, JavaFX & SWT 3
V [SWT] Shell transparenz AWT, Swing, JavaFX & SWT 3
M Fehler beim Zugriff von awt-KeyListener auf swt-Shell AWT, Swing, JavaFX & SWT 2
U Maximieren für SWT Shell unterbinden AWT, Swing, JavaFX & SWT 2
B SWT-Shell in den Vordergrund bringen AWT, Swing, JavaFX & SWT 2
T SWT - Inhalt einer Shell erst nach Größenänderung vorhanden AWT, Swing, JavaFX & SWT 5
C ApplicationWindow Shell minimieren (Anderes Event ausführen) AWT, Swing, JavaFX & SWT 4
I Shell aus einer Plugin-View öffnen . AWT, Swing, JavaFX & SWT 4
Z MessageBox ohne Shell öffnen - SWT AWT, Swing, JavaFX & SWT 7
P Icongröße von SystemIcons (aus shell) verändern?! AWT, Swing, JavaFX & SWT 3
P Swing Eigene Komponente Entwickeln - erben von JComponent oder JPanel? AWT, Swing, JavaFX & SWT 5
G Ansprechende Java Oberfläche entwickeln AWT, Swing, JavaFX & SWT 10
B Eigens JLabel entwickeln, Was ist der beste Ansatz? AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben