Question

Je travaille sur une application en ligne de commande pour Solaris, écrite en Java6.J'aimerais pouvoir faire défiler un historique des commandes précédentes à l'aide des flèches haut et bas, comme le permettent de nombreux outils Unix (shells, invite de mode de commande VIM, etc.).

Existe-t-il un moyen standard d'y parvenir, ou dois-je utiliser le mien ?

Était-ce utile?

La solution

Oui, utilisez le Ligne de lecture GNU bibliothèque.

Autres conseils

Je pense que tu cherches quelque chose comme JLigne mais je ne l'ai jamais utilisé, je ne peux donc pas attester de sa qualité.

Elle peut apparemment gérer l'auto-complétion et l'historique de la ligne de commande, et la dernière version date de février de cette année, elle n'est donc en aucun cas morte.

Ceci est idéal sous Linux pour ce genre de choses.C'est probablement facilement compilé sur Solaris.

Clarification:Celui-ci encapsule l'appel à votre autre application de ligne de commande et peut même recevoir un fichier pour stocker de manière persistante votre historique.

Voici la page d'accueil : http://cristal.inria.fr/~ddr/ledit/

Il existe un projet SourceForge, http://java-readline.sourceforge.net/, qui fournit des liaisons basées sur JNI à GNU readline.J'ai joué avec (non utilisé dans un projet réel), et il couvre certainement toutes les fonctionnalités.

avertissement: Ligne de lecture GNU est soumis aux conditions de licence GPL :

Readline est un logiciel gratuit, distribué sous les termes de la licence GNU General Public, version 2.Cela signifie que si vous souhaitez utiliser Readline dans un programme que vous publiez ou distribuez à quiconque, le programme doit être un logiciel gratuit et avoir une licence compatible GPL.Si vous souhaitez des conseils pour rendre votre licence compatible GPL, contactez licensing@gnu.org.

En d’autres termes, l’utilisation de Readline étend la GPL d’une bibliothèque à l’ensemble du programme.(Contrairement à LGPL, qui permet la liaison du runtime à une bibliothèque et nécessite l'open source uniquement pour les améliorations de la bibliothèque elle-même.)

Pour ceux d'entre nous qui travaillent dans le monde commercial, même si nous ne développons pas d'applications commerciales, c'est un véritable spectacle.

De toute façon, la page wikipédia répertorie plusieurs alternatives, dont JLine, qui semble prometteuse.

Juste en aparté :Je travaille pour une entreprise qui conçoit des produits médicaux.Nous gagnons zéro (0) dollar avec les logiciels PC.Presque tous nos logiciels fonctionnent sur les systèmes embarqués que nous concevons (et nous ne gagnons pas d'argent sur les ventes/mises à niveau de ces logiciels, uniquement sur les produits eux-mêmes) ;nous disposons parfois d'outils de diagnostic logiciel qui peuvent fonctionner sur les PC des utilisateurs finaux.(logiciel de conception/fabrication/test qui n'est pas mis à la disposition des clients, je pense qu'il pourrait être possible d'utiliser les bibliothèques GPL mais je ne suis pas sûr) Les produits médicaux ont des contrôles assez stricts ;vous devez essentiellement prouver à la FDA qu'il est sans danger pour les utilisateurs, ce n'est pas comme si l'utilisateur final pouvait décider "oh, je n'aime pas ce logiciel, je vais juste le modifier ou utiliser le remplacement du marché secondaire de la société XYZ" - ce serait exposent les fabricants d’appareils à une énorme responsabilité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top