.bashrcと.inputrcの違いは何ですか


13

私は、UNIXシステムに新しいですし、それが面白いように設定ファイルでカスタマイズ機能や構成を作成するために見つける.bashrc.inputrc

しかし、私はこの2つの違いを理解していません。たとえば、エイリアスを作成したときに、それらをに入れます.bashrc

Example 1: alias ...='cd ../../'

矢印キーを使用して前または次のコマンドを探すなどの操作を作成するとき、コマンドをに入れ.inputrcます。

Example 2: "\e[A": history-search-backward

それらを異なる設定ファイルに入れる必要があるのはなぜですか?いつどこを置くを区別するどうすればよいですか?

前もって感謝します!

回答:


17

ある設定.inputrcファイルには、使用するすべてのプログラムに影響GNU readlineライブラリをだけでなく、bash。考える.inputrcのと同じようにGNU Readlineのためのコンフィギュレーション・ファイルとしてファイル.bashrc用の設定ファイルですbash

GNU Readlineは次のように説明されています。

...アプリケーションで使用するための一連の機能。ユーザーが入力されたコマンドラインを編集できます。

さらに明確にするために、.bashrcファイル内の設定はにのみ影響しbashます。オプションでbashGNU Readlineのサポートまたは使用なしで実行したい場合は、次bash--noeditingオプションを使用して呼び出すことができますbash --noeditingbashオプションの詳細については、こちらをご覧ください

最後の質問に答えるために

いつどこに何を置くかを区別するにはどうすればよいですか?

GNU Readlineライブラリを使用するシステム上のすべてのプログラムに影響を与えるオプションが必要な場合は.inputrc、主要な選択肢になります。それ以外の場合、単にbashセッションを構成.bashrcする場合は、最良の選択になります。


ありがとう@aliceinpalth。bashはGNU Readlineライブラリに属しているということですか?GNU Readlineライブラリには他に何がありますか?
Counter10000

5
@ Counter10000この意味で、ライブラリは「ツールのコレクション」ではなく(なぜそう思うのかわかります)、「異なるツールが使用できる機能の塊」です。この場合、コマンドラインを操作するための関数です(スクロールバック、行編集などを含む)。Bashはこれをシェルプロンプトに使用します。私の目の前の私のシステムでは、bc(コマンドライン計算機)、xfsprogs(ファイルシステム管理プログラム)、sqlite(非常に小さなデータベースシステム)、lftp(コマンドラインftpクライアント)などにも使用されています。
mattdm

1
問題ありません@ Counter10000!私は助けてうれしいです。@mattdmはあなたの質問にとてもよく答えました。これらのプログラムがGNU Readlineをどのように利用するかについての詳細を学ぶには、こちらから優れた記事を入手できます
アリスインパルト

1
あなたの答えの最後の段落は少なくとも不正確だと思われます。inputrcファイルでのみ設定できるオプションがあるため、2つのファイルは完全に「交換可能」ではありません。この回答からオプションを設定しようとしましたが.bashrc、何も起こりませんでした。それらに設定されている効果のみがあります.inputrc
-user907860
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.