为什么 MSYS2 的 shell 可以在文件夹 /usr/bin 中找到没有“exe”扩展名的二进制文件

为什么 MSYS2 的 shell 可以在文件夹 /usr/bin 中找到没有“exe”扩展名的二进制文件

在 MSYS2 中,对于 /usr/bin 文件夹中的二进制文件,我发现我可以通过“name”或“name.exe”来调用它们。但是在 Windows 文件系统中,只有以“exe”为扩展名的二进制文件。“ls”和“file”命令也可以输出不以“exe”为扩展名的二进制文件的信息。但是当我执行“ls /usr/bin”时,输出中不包含不以“exe”为扩展名的文件。那么为什么 MSYS2 的 shell 可以在 /usr/bin 文件夹中找到不以“exe”为扩展名的二进制文件呢?在 bash 下一切都很好,但在 zsh 中,tab 补全总是提示“command”和“command.exe”,这很烦人。

答案1

本页目录下的倒数第三项更详细地讨论了此问题:

MSYS2 的待办事项列表

但是,如果 MSYS2 团队中的某个人能够提供一份完整的列表,列出他们为弥合 MSYS2(POSIX 仿真)和 Windows 本机环境之间的不兼容性而实施的所有“黑客攻击”(例如,文件路径修改、.exe 扩展插值、符号链接复制等)并准确解释它们的工作原理,那将会很有帮助。

如果它已经存在于某个地方,有人能指出它的位置吗?

相关内容