キーバインドなしでreadline関数を実行しますか?


26

私はただreadlineのマンページを読んでいて、知らないたくさんの素晴らしいコマンドを発見しました。ただし、デフォルトのキーバインディングがないものもあります。シェルからバインドされていないコマンドを実行する方法はありますか?

〜/ .inputrcでコマンドをバインドする方法を尋ねるのではなく、代わりにシェルまたはbashスクリプトで「1回限り」としてコマンドを実行する方法を尋ねています。

たとえば、「dump-variables」コマンド。「ダンプ変数」を引数として供給して実行させるコマンドはありますか?


2
readlineのマニュアルとソースを一目見ただけでは、そこにあるとは思いません。
ジム・パリ

回答:


10

あなたが探しているのはbindコマンドそのものだと思います。よると、man builtin情報のランニングbind <readline-command>あなたは1オフを実行することができますマニュアルは、それは...それは私のためのキーではない作品を作る保たれなければならないと言うように、しかし、私は仕事にそれを得ることができませんでした。あなたのマイレージは異なる場合があります。あなたに役立つかもしれない以下のコマンドを見つけました。

bind -p # Equivalent to dump-functions [machine readable]
bind -P # Equivalent to dump-functions [human readable]

bind -s # Equivalent to dump-macros    [machine readable]
bind -S # Equivalent to dump-macros    [human readable]

bind -v # Equivalent to dump-variables [machine readable]
bind -V # Equivalent to dump-variables [human readable]

メモ を入力します。入力してbindからタブを押してオートコンプリートを行うと、すべてのコマンドが表示されるため、マニュアルに記載されているとおりに機能しません。


3
直接readline関数を呼び出す:私は、マニュアルが実際にそれができると主張しているとは思わない。構文形式を参照している場合bind readline-command:直接呼び出し可能なreadline 関数ではなく、定義(マッピング)行commandがあることを疑います。自動補完は、一部のプラットフォーム(Fedora 20など)で明示的に事前構成されていますが、他の多くのプラットフォームではそうではありません。その存在は、あなたが直接readlineの機能を呼び出すことができることを意味するものではない-それはかなり「ダム」コマンド補完仕様です:完了で動作いかなるに供給される引数。bind
mklement0 14

1
有効な関数/マクロ/変数を一覧表示するコマンドの場合は+1。シェルコマンド(で定義)に追加-Xする価値があります-x
mklement0 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.