bash_completion カスタマイズ

cd の補完でディレクトリ名の最後に / を付けない場合があったので _filedir() の中で2箇所ほど

 compgen -d -S / -- $cur 

というように -S / をつけた。
また $CDPATH から補完した場合はフルパスにして欲しいので

COMPREPLY[k++]=${j#$i/}

COMPREPLY[k++]=${j/~/\~}

に変えた。