zshの組み込み行エディター(zle
)を使用して入力をサブプロセスにフィードすることは可能ですか?つまり、zlewrap mycommand
where zlewrap
はzsh関数でありmycommand
、stdinから行を読み取るだけのプログラムです。zlewrap
は、zleの行編集機能をに効果的に提供しmycommand
ます。これはrlwrap
まさにこれを行うモデル上にありますが、行編集用のzleではなくreadlineを使用します。
2
これは便利になります。zsh.org/mla/users/2004/msg00917.htmlを。単一のコマンドほど簡単ではありませんが、このスクリプトをプログラムに適合させることができます(修正についてはフォローアップをお読みください)。
—
imgx64
私が解決策を考えるときに抱えている問題の1つは、ZLEで「編集」したいときと、「mycommand」が戻るのを待ちたいときをどのように示すかです。1行しか返されませんか?
—
多項式
このような@polynomialラッパーは、背後のプロセスに一度に1行を返します。の使用
—
カレブ
rlwrap
は非常に広く行われており、おそらく使用されているでしょう。mysql、sqlite、lftpなどで得られる小さな擬似シェルのことを考えてください。それらはすべて、背後の実際のプロセッサに一度に1行または行のブロックを返す行エディターの実装をいくつか持っています。rlwrap
STDINを受け入れるすべてのプログラムに対して非常にきれいにヒットしますが、より広範囲ではないreadlineではなく、zleスタイルのバインディングと機能を備えていると便利です。
あなたはマニュアルを見てきました
—
Kevdog777
zsh
- cs.elte.hu/zsh-manual/zsh_14.html?-あなたの質問はよくわかりませんが、タイトルをGoogleで検索して、そのページを見つけました。役立つかもしれませんが、わかりません。
わかりました。あなたの質問は1年以上も回答されていないようです。申し訳ありませんが、私のコメントは十分ではありませんでした。
—
Kevdog777