Bashオートコンプリートを使用するときに完全なコマンドラインを取得する方法

Bashオートコンプリートを使用するときに完全なコマンドラインを取得する方法

新しいbashオートコンプリート定義の使用に関連してcomplete -F、つまりオートコンプリートを生成するシェル関数の作成、バッシュマニュアル説明する

シェル機能関数は、現在のシェル環境で実行されます。実行されると、$ 1は引数が完了するコマンドの名前、$ 2は完了する単語、$ 3は完了する単語の前の単語です。

しかし、それは非常に小さな背景です!理想的にはみんなこれまでのコマンドライン。現在の完成は、前の単語より前に設定されたオプションに依存する可能性が高い。 Bashのオートコンプリートからコマンドライン全体にアクセスできますか?

[コマンドライン全体の変数で使用できるzshように見え、カーソルの下の引数$wordsの数はで与えられます$CURRENT。似たようなものがあるか、bash同等の機能にアクセスする他の方法があるかどうか疑問に思います。 ]

ベストアンサー1

bashシェル変数の完全な引数のリスト$COMP_WORDSとカーソルの下にある単語のインデックスを提供します$COMP_CWORD。および で始まるその他の有用な完了関連シェル変数は、 および$COMP...の「シェル変数」セクションにリストされています。man bashバッシュマニュアル

おすすめ記事