首页 > 解决方案 > 我的 bash 可能会识别小写和大写是相同的

问题描述

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 告诉我是否获得更多信息以解决问题。

标签: bashshellcommand

解决方案


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

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

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

Docker 文档是这样说的:

使用 Docker Desktop for Mac,文件系统在容器中的运行方式与它们在 macOS 中的运行方式相同。如果 macOS 上的文件系统不区分大小写,则该行为由 macOS 到容器的任何绑定挂载共享。

还有这个:

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

因此,您的问题的解决方案是为您的主机操作系统启用区分大小写功能,以便为您的 Docker 虚拟机启用它。


推荐阅读