私は初めてでcompgen
、作業中のスクリプトに使用したいと考えています。このスクリプトは、次のように「コマンド」と「オプション」を引数として持つことができます。
script add "value"
script --path "/a/file/path" add "value"
# and others
次のような完了スクリプトを作成しました。
_script_completions() {
arg_index="${COMP_CWORD}"
if [[ "${arg_index}" -eq 1 ]]; then
COMPREPLY=($(compgen -W "--path add" "${COMP_WORDS[1]}"))
fi
}
complete -F _script_completions script
このスクリプトは「add」コマンドでは正常に機能しますが、「--path」オプションでは失敗します。例: 入力すると:
$ script --p<TAB>
私は得る:
$ ./script --pbash: compgen: --: invalid option
compgen: usage: compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]
独自のスクリプト オプションの補完を正しく追加するにはどうすればよいですか?