我无法弄清楚,我了解 shopt -s cdspell 但无法找出 shopt -s dirspell 的作用。
Bash 参考指南说:
拼写
如果设置,如果最初提供的目录名称不存在,Bash 会在单词完成期间尝试对目录名称进行拼写更正。
我在几个目录上尝试了几次,但这不是行为。
我在 i386-apple-darwin10.7.0 上使用 bash 4.2.10(2)
从更改日志
X。有一个新的 shell 选项:`dirspell'。启用后,文件名完成代码在完成期间对目录名称执行拼写更正。
我们试试看:
$ ls
spam/
$ cat spam/test
hello world
没有dirspell
$ cat span/test [tab]
# nothing happens
与 dirspell
$ shopt -s dirspell
$ cat span/test [tab]
#line is replaced by
$ cat /home/user/tmp/shopt/spam/test
如果您设置 shell 选项direxpand和dirspell,那么 tab-completion 确实有效。