shopt -s nocaseglob 无法在 Ubuntu 上运行

shopt -s nocaseglob 无法在 Ubuntu 上运行

在 Ubuntu 11.04 64 位上的 bash 中,不区分大小写的文件名通配符不起作用。指定的 shell 选项.bashrc如下:

shopt -s nocaseglob 
shopt -s nocasematch

shopt 还表明nocaseglobnocasematchon。但对于目录更改或打开文件,它在不区分大小写模式下不起作用。

我想检查是否需要任何其他选项来启用不区分大小写的文件名通配。

答案1

你真的在做通配符扩展吗?例如,假设您有一个名为 的目录Foobar。然后

cd foobar

不进行通配符操作,因为没有通配符。当您准确指定文件名时,由应用程序决定如何处理它,并且由于 UNIX 文件名区分大小写,因此Foobar如果您告诉应用程序打开名为 的文件,应用程序将不会打开名为的文件foobar

另一方面,

cd foo*

如果您设置了该选项,将更改为该Foobar目录(假设没有其他匹配项) 。nocaseglob

您也可以使完成不区分大小写。放入set completion-ignore-case on,~/.inputrc

bind 'set completion-ignore-case on'

~/.bashrc。然后输入cd foo并按下后Tab,shell就完成了Foobar

相关内容