質問: コマンドエイリアスのbash補完を取得するにはどうすればよいですか? コマンドラインエイリアスでタブ補完を取得しようとしています。たとえば、次のエイリアスを定義したとします。alias apt-inst='sudo aptitude install' タブキーを押したときにaptitudeが提供する補完を取得する方法はありますか?つまり、「sudo aptitude install gnumer」と書いてタブを押すと、aptitudeはこれをgnumericに補完するか、不確かな場合はgnumerで始まる使用可能なすべてのパッケージをリストします。私がエイリアスを使用してそれを行う場合、何も行われません-完了しません。
回答: この問題をグーグルすることで私はここに行き着いたので、私は他の答えのアプローチを試みました。私が実際に理解していないさまざまな理由で、それらは私のubuntu 16.04では正しく動作しませんでした。結局、私にとってうまくいったのは、予想よりもはるかに簡単なことでした。 rsyncがmycommandに対して持っているのと同じオートコンプリートを使いたかった。そこで、オートコンプリート機能を調べ、それに応じてcompleteを呼び出しました。# lookup of name of autocompletion function used for rsync complete -p rsync # returns: complete -o nospace -f _rsync rsync # sourcing the rsync functions before, then using the same function for 'mycommand' . /usr/share/bash-completion/completions/rsync complete -o nospace -f _rsync mycommand 免責事項:他の方法と比較して私のアプローチの欠点は何なのかわかりません。これは、この些細なアプローチで十分な場合に役立つ可能性があるため、主にこれを書きました。