我的bash可能会识别小写和大写相同

时间:2020-03-23 07:23:28

标签: bash shell command

mv readme.md README.md

然后我收到消息 'readme.md' and 'README.md' are the same file

为什么我的ubuntu无法识别小写和大写字母??

cd效果很好,但是,例如,我想移动src目录,

CD src

然后我收到消息 bash: CD: command not found

没有这种情况,我的bash效果很好。

env ubuntu 18.04 告诉我是否需要更多信息来解决问题。

1 个答案:

答案 0 :(得分:1)

您可能正在使用不区分大小写的NTFS或VFAT文件系统。在超级用户上查看以下答案:https://superuser.com/a/431346

但是bash在所有情况下都区分大小写,这就是CD是一个未知命令的原因。

如评论中所述,OP在Docker容器内运行Ubuntu时使用OSX作为主机。 Docker在OSX上使用osfx文件系统。

Docker文档说:

对于Mac的Docker桌面,文件系统在以下容器中的容器中运行: 与它们在macOS中的操作方式相同。如果macOS上的文件系统是 不区分大小写,该行为由macOS的任何绑定安装共享 放入容器中。

还有这个:

在macOS Sierra及更低版本上,默认文件系统为HFS +。在macOS上 High Sierra,默认文件系统为APFS。 两者都是 默认情况下不区分大小写,但在区分大小写和 不区分大小写的变体。

因此,解决问题的方法是为主机OS启用区分大小写功能,为Docker VM启用区分大小写。