何が間違っているのかわかりません。私は bash_completion ファイルを次のように設定しています。
_bcd()
{
local cur=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=( $(compgen -W "$(back_directory.pl --complete $cur)" -- $cur) )
}
complete -o filenames -o nospace -F _bcd bcd
back_directory.pl --complete Th
back_directory.plは、ツリーの上位のディレクトリ パスを返すプログラムです This\ test/
。
22:50:24-Josh@Joshuas-MacBook-Air:~/Desktop/bcd/This test/more white/t$ bcd Th<TAB><TAB>
This test/
上に示したように、空白を含むディレクトリはオートコンプリートされません (ただし、補完オプションは表示されます)。
次のようになります。bcd This\ test/
-o filenames
空白をエスケープするには、バックスラッシュを追加する必要があると考えました。助けてくれてありがとう:)