如果 UNIX 区分大小写,并且我的主目录中有一个名为 ruby 的目录,而没有名为 Ruby 的目录,为什么
cd ruby
和
cd Ruby
产生相同的结果,即我 cd 进入 ruby 目录?
首先确保它们引用的是同一个目录。检查以下各项的输出:
ls [Rr]uby
如果您确定它们引用的是同一个目录,那么它可能cdspell
在此处工作的bash
的内置目录,其目的是在执行cd
时更正目录名称中的小拼写错误。在您的情况下,它正在纠正字母 R
/r
的情况。
您可以通过以下方式检查它是否已启用:
shopt cdspell
例:
$ cd Ques
bash: cd: Ques: No such file or directory
$ shopt -s cdspell
$ cd Ques
ques
ques$ shopt cdspell
cdspell on