问题 shopt -s dirspell做什么?


我无法弄明白,我理解shopt -s cdspell但无法找出shopt -s dirspell的作用。

Bash参考指南说:

dirspell

如果设置,如果最初提供的目录名不存在,Bash会在字完成期间尝试对目录名进行拼写更正。

我在几个目录上尝试了几次,但这不是行为。

我在i386-apple-darwin10.7.0上使用bash 4.2.10(2)


4924
2018-06-22 10:25


起源



答案:


来自 改变日志

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

9
2018-06-22 10:50



提示dirspell的工作原理来自文件/目录的第二级,实际上有意义,但是当我完成时,第二级文件或目录后来用空格完成,结果是没有这样的文件或目录,使这个shopt基本上不实用,无用,感觉对我来说? @Frederik - Spartan
是的,我也没有换线。相反,制表符完成工作,但然后输入错误发送到命令,因此命令本身失败。 - singpolyma
当我点击标签时,我看不到发生任何事情 dirspell 上。 - Jean Jordaan
是的,它只允许标签工作,但真正的命令是错误的。 - netawater


答案:


来自 改变日志

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

9
2018-06-22 10:50



提示dirspell的工作原理来自文件/目录的第二级,实际上有意义,但是当我完成时,第二级文件或目录后来用空格完成,结果是没有这样的文件或目录,使这个shopt基本上不实用,无用,感觉对我来说? @Frederik - Spartan
是的,我也没有换线。相反,制表符完成工作,但然后输入错误发送到命令,因此命令本身失败。 - singpolyma
当我点击标签时,我看不到发生任何事情 dirspell 上。 - Jean Jordaan
是的,它只允许标签工作,但真正的命令是错误的。 - netawater


如果设置shell选项 direxpand 和 dirspell,然后选项卡完成确实有效。


3
2017-12-01 09:07



direxpand 从那时起可用 4.3-α。 - bishop