新しいbashオートコンプリート定義の使用に関連してcomplete -F
、つまりオートコンプリートを生成するシェル関数の作成、バッシュマニュアル説明する
シェル機能関数は、現在のシェル環境で実行されます。実行されると、$ 1は引数が完了するコマンドの名前、$ 2は完了する単語、$ 3は完了する単語の前の単語です。
しかし、それは非常に小さな背景です!理想的にはみんなこれまでのコマンドライン。現在の完成は、前の単語より前に設定されたオプションに依存する可能性が高い。 Bashのオートコンプリートからコマンドライン全体にアクセスできますか?
[コマンドライン全体の変数で使用できるzsh
ように見え、カーソルの下の引数$words
の数はで与えられます$CURRENT
。似たようなものがあるか、bash
同等の機能にアクセスする他の方法があるかどうか疑問に思います。 ]
ベストアンサー1
bash
シェル変数の完全な引数のリスト$COMP_WORDS
とカーソルの下にある単語のインデックスを提供します$COMP_CWORD
。および で始まるその他の有用な完了関連シェル変数は、 および$COMP...
の「シェル変数」セクションにリストされています。man bash
バッシュマニュアル。