個人的なメモ

めもめも.

Linuxタブ補完設定

[1] Ubuntu16.04でccコマンドを入力し、ファイル名をタブ補完しようとするとうまく動作しない。

[解決法] ccコマンド実行時に、ファイルを対象に補完を行う

$ complete -f cc


[2] Ubuntu16.04でlsコマンドでワイルドカードを使うとすべての候補が出ずに、一番目のファイル名で勝手に補完されてしまう。

[解決法]
lsコマンド実行時に、ファイルを対象に補完を行う*1

$ complete -f ls


[使い方]
全コマンドの補完情報表示。

$ complete -p

lsの補完情報表示。

$ complete -p ls

ccコマンド実行時に、ファイル(とディレクト*2 )を対象に補完を行う

$ complete -f cc

ccコマンド実行時に、ディレクトリを対象に補完を行う

$ complete -d cc

http://www.usupi.org/sysad/235.html

*1:“complete -F _longopt ls"と設定してあった。“type -f _longopt"で内容を確認したが、よくわからなかった。

*2:ディレクトリも補完しないとファイルまでたどり着けないから