複数のパラメーター/オプションを使用してbash関数を完了する方法は?

psuzzi

コマンドの関数エイリアスを定義しました:aaそして、を介し_complete_aaaaコマンドの提案として使用される関数を定義しましたcomplete -F _complete_aa aa(以下のコードを参照)

aa(){
    anothercommand ${@}
}

_complete_aa(){
    COMPREPLY=($(compgen -W "clean build start" "${COMP_WORDS[1]}"))
}

complete -F _complete_aa aa

この関数を使用すると、予期しない動作が発生します。

私が入力したときaa cleと押してTABプロンプトが正しくに私の入力を完了しますaa clean

しかし、入力してaa clean buiを押すTABと、プロンプトはへの入力を完了しますが、に変わるaa clean cleanはずaa clean buildです。

私のエラーは、完了中の現在の単語のインデックスを処理しない以下の完了関数にあると思います。

_complete_aa(){
    COMPREPLY=($(compgen -W "clean build start" "${COMP_WORDS[1]}"))
}

質問:入力_complete_aaclean build startている新しいオプション/パラメーターごとに現在の単語を完成させるために、関数の本体をどのように変更する必要がありますか?

ベンジャミンW。

完了関数$2は、「完了中の単語」である位置パラメーターを取得するため、次のように実行できます。

_complete_aa(){
    COMPREPLY=($(compgen -W "clean build start" "$2"))
}

補完が実際に特定の単語の選択だけである場合は、-W代わりに単純な補完を使用できます

complete -W 'clean build start' aa

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

python角括弧でオプションのパラメータを使用して関数を定義する方法は?

分類Dev

オプションのパラメータpython3を使用して関数を作成する方法

分類Dev

オプションのパラメータpython3を使用して関数を作成する方法

分類Dev

VBAで複数のオプションパラメータを使用する方法

分類Dev

Laravelで複数のオプションパラメータを使用してデータベースから検索する方法は?

分類Dev

オプションの3番目のパラメーターを使用して別の関数から関数を呼び出す方法は?

分類Dev

関数を使用してオプションのパラメーターを定義する

分類Dev

オプションのパラメータを使用してPython関数を呼び出す方法

分類Dev

ジャージー(JAX-RS)複数のオプションパラメーターを使用してパスをマップする方法

分類Dev

ジャージー(JAX-RS)複数のオプションパラメーターを使用してパスをマップする方法

分類Dev

オプションのパラメータを使用して関数を作成する

分類Dev

TypeScriptの関数をオプションのパラメータでオーバーロードする方法は?

分類Dev

Python関数でオプションのパラメーターを使用する

分類Dev

オプションのランダムシードパラメータを使用してroll_die()関数を作成する方法

分類Dev

関数パラメーターとしてクロージャをオプションにする方法

分類Dev

関数をオプションのパラメーターとして渡す方法Swift

分類Dev

オプションのパラメータのみを使用して関数に複数のオーバーロードを定義するにはどうすればよいですか?

分類Dev

選択オプションでJavascript関数を使用して2つのパラメーターを送信する方法

分類Dev

Swiftプロトコルのオプション関数で列挙型をパラメーターとして使用する方法

分類Dev

Dart2で関数の引数としてオプションのパラメータで関数を指定することは可能ですか?

分類Dev

オプションのパラメータを使用してJSNI関数をモデル化するのはホットですか?

分類Dev

オプションの関数パラメーターが渡されたかどうか、またはデフォルトの関数パラメーターを使用しているかどうかを知る方法は?

分類Dev

オプションのパラメータを使用してQ_INVOKABLE関数を作成するにはどうすればよいですか?

分類Dev

postgresqlのオプションパラメータの関数を記述する方法は?

分類Dev

postgresqlのオプションパラメータの関数を記述する方法は?

分類Dev

postgresqlのオプションパラメータの関数を記述する方法は?

分類Dev

関数のオプションの戻りパラメータを入力する方法は?

分類Dev

C#で複数のオプションパラメータを使用する方法

分類Dev

オプションのパラメーターを使用してf#オーバーロードされた関数を区別する

Related 関連記事

  1. 1

    python角括弧でオプションのパラメータを使用して関数を定義する方法は?

  2. 2

    オプションのパラメータpython3を使用して関数を作成する方法

  3. 3

    オプションのパラメータpython3を使用して関数を作成する方法

  4. 4

    VBAで複数のオプションパラメータを使用する方法

  5. 5

    Laravelで複数のオプションパラメータを使用してデータベースから検索する方法は?

  6. 6

    オプションの3番目のパラメーターを使用して別の関数から関数を呼び出す方法は?

  7. 7

    関数を使用してオプションのパラメーターを定義する

  8. 8

    オプションのパラメータを使用してPython関数を呼び出す方法

  9. 9

    ジャージー(JAX-RS)複数のオプションパラメーターを使用してパスをマップする方法

  10. 10

    ジャージー(JAX-RS)複数のオプションパラメーターを使用してパスをマップする方法

  11. 11

    オプションのパラメータを使用して関数を作成する

  12. 12

    TypeScriptの関数をオプションのパラメータでオーバーロードする方法は?

  13. 13

    Python関数でオプションのパラメーターを使用する

  14. 14

    オプションのランダムシードパラメータを使用してroll_die()関数を作成する方法

  15. 15

    関数パラメーターとしてクロージャをオプションにする方法

  16. 16

    関数をオプションのパラメーターとして渡す方法Swift

  17. 17

    オプションのパラメータのみを使用して関数に複数のオーバーロードを定義するにはどうすればよいですか?

  18. 18

    選択オプションでJavascript関数を使用して2つのパラメーターを送信する方法

  19. 19

    Swiftプロトコルのオプション関数で列挙型をパラメーターとして使用する方法

  20. 20

    Dart2で関数の引数としてオプションのパラメータで関数を指定することは可能ですか?

  21. 21

    オプションのパラメータを使用してJSNI関数をモデル化するのはホットですか?

  22. 22

    オプションの関数パラメーターが渡されたかどうか、またはデフォルトの関数パラメーターを使用しているかどうかを知る方法は?

  23. 23

    オプションのパラメータを使用してQ_INVOKABLE関数を作成するにはどうすればよいですか?

  24. 24

    postgresqlのオプションパラメータの関数を記述する方法は?

  25. 25

    postgresqlのオプションパラメータの関数を記述する方法は?

  26. 26

    postgresqlのオプションパラメータの関数を記述する方法は?

  27. 27

    関数のオプションの戻りパラメータを入力する方法は?

  28. 28

    C#で複数のオプションパラメータを使用する方法

  29. 29

    オプションのパラメーターを使用してf#オーバーロードされた関数を区別する

ホットタグ

アーカイブ