質問: bashを対話環境で使用しているときにTabキーを押すと補完候補が一覧で表示されますが,これをシェルスクリプトから取得することは可能でしょうか? つまり,現在の`$PATH`と`$PWD`(あるいは他に必要な環境変数があるかもしれません)と入力中の文字列が与えられて,それらから候補を文字列の配列で返す関数のようなイメージです. Emacs LISPで言う`file-name-all-completions`に近いといえば分かりやすいでしょうか? ご存知の方がいましたらお願い致します.
回答: SOでの同様の質問を参考にしました。 shell - bash completion script to complete file path after certain commandline options - Stack Overflow `compgen -f` ではないでしょうか。 ``` bash-3.2$ bash --version GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin14) Copyright (C) 2007 Free Software Foundation, Inc. bash-3.2$ ls bash-3.2$ touch foo bar baz bash-3.2$ ls bar baz foo bash-3.2$ compgen -f bar baz foo bash-3.2$ compgen -f ba bar baz ```