「source」の後にコマンド名を入力すると、オートコンプリートが機能しないのはなぜですか?

「source」の後にコマンド名を入力すると、オートコンプリートが機能しないのはなぜですか?

sourcePATH基本検索。

ただし、bashでは、後にコマンド名を入力してもオートコンプリート機能は機能しませんsource

一般的に、オートコンプリートはいつPATH動作し、いつ動作しないのですか?

パラメータを入力したときにどのように機能させることができますか source

ありがとうございます。

ベストアンサー1

source(bash組み込みコマンド)を採用ファイル名買収PATH検索は、指定されたファイル名が見つからない場合にのみトリガーされます。そのためsource foo、最初に開こう./fooとし、失敗した場合にのみ、/path/dir/foo現在のディレクトリにあるファイル名を使用してタブの完成を試みるか、関心のあるコマンドへのパスを指定します。期待どおりにタブを完成させる必要があります。

  • 必要なものを達成する最も簡単な方法は、タブの完成が試みられていることに気づくことです。フルファイル名しかし、あなたは欲しい完全なコマンド。トリガーできます完全なコマンド別名M-!キーバインディングがありますAlt+!READLINE章、Completingサブセクションman bashを参照)。バッシュオンライン文書追加の完成機能と主キーバインディング用です。 )

  • 難しい方法は、source呼び出す最初の引数に対してトリガーされるデフォルトの完了関数を変更することです。フルファイル名そして完全なコマンド機能。help completeコマンドラインでProgrammable Completionおよびman bashのサブセクションを参照してください。バッシュオンライン文書complete組み込みコマンドがあります。

通常、タブの完成は場所に基づいて行われ、コマンドラインの現在の位置に応じて他の完成機能を呼び出します。 Archシステムでは、パッケージは/usr/share/bash-completion実行可能ファイルのコンテキスト認識補完機能を提供するために完成ファイルをインストールできます。

おすすめ記事