4

この質問は奇妙に聞こえるかもしれませんが、文脈を説明し、それが正当化されることを願っています. 私はLinuxを使用して、いくつかの不適切なシェルを操作しようとしています。

Adobe の Flash 用コマンドライン デバッガおよびコンパイラ シェルである および を使用するfdb必要があります。これは特に関係ありません -それらが shellfcshであるという事実だけです。つまり、 runのようなプロンプトが表示され、コマンドを入力します。すべてクール。fdb(fdb)

しかし。最後のコマンドを再実行したい場合、Bash、Python シェル、GDB シェルなどで行うように、キーボードで [Arrow-Up] を押しますが、機能しません。プロンプトで最後のコマンドを表示する代わりに、表示されます(fdb) ^[[A(プロンプトであることに注意し(fdb)てください)。[Arrow-Left] キーを押して数文字前に戻り、入力したコマンドを修正します - 同じ話です。

これは、アドビがシェルをうまく作っていないように見えます。fdbデーモンとして保持されているオープンシェルにコマンドを供給し続ける単純なbashシェル(または何か)を開く方法はありますか?このようにして、コマンドを処理するための Bash のきちんとした使いやすさの機能を手に入れたいと思っていますが、fdb.

注:デーモン化された状態を保ち、pidファイルを保持するこのラッパーを見つけたと思います。fcshこれはカッコいい。まだ使っていませんが、検討中です。それでも、私の質問は次のとおりです。あるシェルから別のシェルにコマンドをパイプする方法はありますか?

4

1 に答える 1

8

Bash は、オープン ソース プログラムにのみ使用できる GNU readline ライブラリを使用します (適切なライセンスが必要です)。ただし、rlwrapを使用できます。ほとんどの Linux ディストリビューションに含まれています。rlwrap fdbたとえば、として使用できます。

于 2012-04-24T06:54:43.617 に答える