V příkazové řádce je časté, že příkaz umožňuje doplňovat parametry automaticky pomocí TAB.

Setup

Registrace příkazu se provádí pomocí complete.

complete -F _gen_completion -o filenames ./generate.sh

Kde _gen_completion je funkce zařizující definici možných paramterů a ./generate.sh je jméno příkazu.

Nyní stačí definovat funkci v bashi.

function _gen_completion {
  COMPREPLY=()
  cur=${COMP_WORDS[COMP_CWORD]}
  options="create delete list help version"
  case "$cur" in
    *) COMPREPLY=( $( compgen -W "$options" -- $cur ) );
  esac
  return 0
}

Compreply je seznam nabízených příkazů, Comp words jsou doposud zadané parametry, compgen vyjme jen ty paramtery co sedí na zadaný prefix.

Tuto funkci je potřeba nasourcovat, aby na ni complete viděl. Nejspíše by se to mělo dělat při spuštění systému.