以前から気になっていたのだけど、bashで作業中、たとえば apt-get と入力してからupgと入力してTabキーを押すと、ちゃんとupgradeと補完してくれる。コマンドやファイル名の補完はわかるのだけど、bashがどうやってコマンドのオプションを知っているのだろう。シェルのどこかに主要なコマンドのオプションが登録されていると考えるのが自然なのだけど。ということは、自分でコマンドを作った場合は自動補完は効かないのだろう。当然ながら、tarと入力してもzxvfとは自動的には補完してくれないけど。