2008-09-08 10 views
3

私は、Java6で書かれたSolarisのコマンドラインアプリケーションで作業しています。私は、多くのUnixツール(シェル、VIMコマンドモードプロンプトなど)のような上下の矢印を使用して、以前のコマンドの履歴をスクロールできるようにしたいと思います。Unixコマンドラインアプリケーションにコマンドリコールを追加する

これを達成するための任意の標準的な方法はありますか、私は自分自身をロールバックする必要がありますか?

答えて

5

はい、GNU readlineライブラリを使用しています。

+0

標準的な方法があります。 –

+0

答えが「悪い」場合を除き、私はdownvotesを与えませんが、これはGPLの要素が与えられた場合に受け入れられるということに驚いています。 –

+0

@Jason:どのようなGPL要因ですか?あなたのコードで 'readline'を配布する必要はありません。クライアントがシステム内にそれを持っていると仮定したり、インストール方法を指示したりすることができます。これは、Audacityがffmpegを使用する方法と似ています。彼らはそれを配布するためのライセンスを持っていませんが、あなたはそれを入手する方法を教えて、彼らはソフトウェアでそれを使用します。 –

3

私はあなたがJLineのような何かを探していると思うが、私はそれはとてもその品質を証明することはできません使用したことがありません。

彼女は明らかに自動補完とコマンドラインの履歴を扱うことができ、そして最後のリリースは(2月、今年)最近だったので、それは決して死にました。

2

leditのは、そういったことのためにLinux上で素晴らしいです。これはおそらくsolarisで簡単にコンパイルされます。

明確化:leditのは、あなたの他のコマンドラインアプリケーションへの呼び出しをラップし、さらに永続的にあなたの履歴を保存するファイルを渡すことができます。ここで

ホームページです:http://cristal.inria.fr/~ddr/ledit/

1

のGNU readlineのにJNIベースのバインディングを提供SourceForgeのプロジェクト、http://java-readline.sourceforge.net/は、あります。私はそれを使って遊んだことがあります(実際のプロジェクトでは使われていません)。それは確かにすべての機能をカバーしています。

1

警告:、

Readlineのはフリーソフトウェアです。これは、あなたが使用したい場合は、その 意味、GNU一般 公衆利用許諾契約書の条項の下でバージョン2を を分散:GNU readlineはGPLのライセンス条項に従うもの のプログラムで、 を誰かにリリースまたは配布する場合は、プログラムは無料の ソフトウェアで、GPL互換の ライセンスを取得している必要があります。 に関するアドバイスを希望する場合は、ライセンスGPLと互換性があります。 に[email protected]までお問い合わせください。

つまり、Readlineを使用すると、ライブラリのGPLがプログラム全体に広がります。 (ライブラリーへのランタイムリンクを許可するLGPLと対照的であり、ライブラリー自体の改良のためだけにオープンソーシングが必要です。)

私たち商業界では、商用アプリケーションを開発していなくても、これはショーストッパーです。

とにかく、the wikipedia pageにはJLineなどいくつかの選択肢があり、これは有望なものです。

私はちょうど脇に:私は医療製品を設計する会社のために働いています。私たちは、PCソフトウェアをゼロ(0)ドルにします。ほぼすべての当社のソフトウェアは、当社が設計した組み込みシステム上で動作します(また、このソフトウェアの販売/アップグレード、製品自体にはお金を稼ぎません)。エンドユーザーのPCで実行できるソフトウェア診断ツールがある場合もあります。(GPLライブラリを使用することが可能かもしれないが、わからない顧客にはリリースされていない設計/製造/テストソフトウェア)医療製品はきわめて厳しい管理をしている。あなたは基本的にFDAに対して、ユーザーにとって安全だと証明しなければなりません。エンドユーザーが「ああ、私はこのソフトウェアが気に入らない、XYZのアフターマーケット交換を使用するだけです」デバイスメーカーは大きな負担をかけています。

+0

ええ、匿名のコメント無し-1 .... –

+0

(私のdownvoteではなく)ありがとう、しかし私はそれが不必要に軽蔑的な "中毒"だと思います。 – wnoise

+0

が "毒中"になりました。 –

関連する問題