Frage

Ich arbeite an einer Befehlszeile-Anwendung, die Sie für Solaris geschrieben in Java6.Ich möchte in der Lage sein, um einen Bildlauf durch eine Geschichte der früheren Befehle, die mithilfe der aufwärts-und abwärts-Pfeile, wie viele Unix-tools ermöglichen (Muscheln, VIM Befehl Modus, Eingabeaufforderung, etc.).

Gibt es irgendein standard-Weg, dies zu erreichen, oder muss ich Rolle meine eigenen?

War es hilfreich?

Lösung

Ja, verwenden Sie den GNU readline Bibliothek.

Andere Tipps

Ich denke, Sie sind auf der Suche nach etwas wie JLine aber ich habe es nie benutzt, so lässt sich nicht belegen seine Qualität.

Sie kann offenbar viel mit Autovervollständigung und Geschichte der Befehlszeile, und die Letzte Veröffentlichung war vor kurzem (Februar dieses Jahres), so ist es keineswegs tot.

ledit gut aus auf linux-für, dass Art der Sache.Es ist wohl leicht zusammengestellt auf solaris.

Klarstellung:ledit umschließt den Anruf an das andere Befehlszeilen-app, und können auch weitergegeben werden, eine Datei zu persistieren Ihre Geschichte.

Hier ist die homepage: http://cristal.inria.fr/~ddr/ledit/

Es ist ein SourceForge-Projekt, http://java-readline.sourceforge.net/, dass bietet JNI-basierte bindings to GNU readline.Ich habe gespielt, um mit ihm (nicht verwendet in eine tatsächliche Projekt), und es umfasst alle Funktionen.

Warnung: GNU readline unterliegt der GPL-Lizenzbedingungen:

Readline ist eine Kostenlose software, distributed unter den Bedingungen der GNU General Public License, version 2.Dies bedeutet, dass , dass, wenn Sie verwenden möchten Readline in einem das Programm, das Sie veröffentlichen oder verteilen zu jedermann, das Programm muss frei sein software und GPL-kompatibel Lizenz.Wenn Sie möchten Beratung auf machen Sie Ihre Lizenz GPL-kompatibel, Kontakt licensing@gnu.org.

In anderen Worten, die Verwendung von Readline breitet sich die GPL-ness aus einer Bibliothek auf das gesamte Programm.(Gegensatz mit der LGPL-Lizenz, die es erlaubt runtime Verknüpfung zu einer Bibliothek und verlangt das open-sourcing nur für Verbesserungen an der Bibliothek selbst.)

Für diejenigen von uns, die in der kommerziellen Welt, auch wenn wir nicht die Entwicklung kommerzieller Anwendungen, ist dies ein show-stopper.

Sowieso, die wikipedia-Seite Listen mehrere alternativen, einschließlich JLine, das klingt vielversprechend.

Nur so nebenbei:Ich arbeite für ein Unternehmen, dass designs medizinische Produkte.Wir stellen eine null (0) Dollar mit der PC-software.Fast alle unsere software läuft auf dem embedded-Systeme, die wir entwerfen (und wir don ' T machen kein Geld aus-Verkäufe/upgrades der software, nur die Produkte selbst);manchmal sind wir nicht haben die software-Diagnose-tools, dass können run auf die end-users' PCs.(design/Herstellung/test-software, die nicht freigegeben werden zu Kunden ich denken würde, dass könnte möglich sein, GPL-Bibliotheken, aber ich bin mir nicht sicher) Medizinische Produkte haben ziemlich strenge Kontrollen;Sie haben im Grunde beweisen, um die FDA, es ist sicher für die Benutzer, es ist nicht, wie der Endbenutzer entscheiden kann, "oh, ich weiß nicht, wie diese software, ich werde einfach zwicken oder verwenden Sie die Firma XYZ ist aftermarket Ersatz" -- die Gerät Hersteller öffnen sich zu einem riesigen Haftung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top