Mac OS X 的文件名竟然不是 case sensitive 的。。。

2013-12-13 00:07:02 +08:00
 soli
而是 case preserving 的。

http://apple.stackexchange.com/questions/22297/is-bash-in-osx-case-insensitive
6612 次点击
所在节点    macOS
13 条回复
dorentus
2013-12-13 00:28:14 +08:00
文件系统的事情。基本上算是历史遗留问题。

其实你可以把分区格式化成 case-sensitive HFS+,不过有些程序会有问题(比如暴雪的几个游戏),有些程序会没法启动(比如某些版本的 Photoshop)。
sdysj
2013-12-13 00:33:22 +08:00
LZ火星归来,安好?
soli
2013-12-13 00:36:24 +08:00
一直以为 Unix 系的都是大小写敏感的。。。
ivanlw
2013-12-13 00:38:26 +08:00
@soli 服务器版的才都是大小写敏感的…当年折腾了这个好久…
aku
2013-12-13 00:53:51 +08:00
@ivanlw 好分裂
aku
2013-12-13 00:56:27 +08:00
@ivanlw 在windows和Linux之间切换就感觉很分裂了
Apple为何自家的系统也要这样
那个通过Unix认证的是哪个版本?
c742435
2013-12-13 10:58:31 +08:00
格式化磁盘的时候就会让你选是不是要格式化成大小写敏感的文件系统。
aliuwr
2013-12-13 13:37:16 +08:00
一直以为 Unix 系的都是大小写敏感的。。。然后开发的时候被这个坑过了,
too
2013-12-13 14:26:26 +08:00
擦,还有这样的坑,怎么没见果粉提到过呢
tangmian
2013-12-13 23:44:43 +08:00
这个确实坑爹
dorentus
2013-12-14 01:40:35 +08:00
@too

0) 一般用户不会遇到问题。

1) *NIX 开发者,如果一直很注意区分大小写的话,也根本不会遇到问题。

2) iOS 开发时遇到的问题多半是这样:

a) 应用打包了一个名为 aaa.txt 的文件
b) 代码里面使用 AaA.TXT 的文件名去访问它
c) 在模拟器里面运行的时候,因为模拟器跑在 OS X 上,而 OS X 预装的时候文件系统是 case preserving 的,因为用 AaA.TXT 可以成功访问到 aaa.txt 文件,一切正常
d) 到真机上的时候,因为真机的文件系统没有历史遗留下来的压力,是 case sensitive 的,那么文件找不到,就出问题了

但是开发者你为什么要这么做……

3) 剩下会被坑的就是像我这种自己去折腾的,而去折腾的时候,已经是可以预想到会出问题了……
too
2013-12-14 10:04:17 +08:00
@dorentus 按你说的,难道 iOS 上倒是 case sensitive 的? 这个...
也没啥,这种问题一般也不会遇到,可以,遇到了就能让你郁闷上半天。
haozi3156666
2017-03-20 10:39:34 +08:00
被坑了, git 拉下来的文件中有同名大小写的文件,执行 git status 发现有改动,惊到了, git add, git checkout 都木有任何卵用,怀疑是钩子的原因,后发现不是,然后开始怀疑人生了,知道 rm 掉这个文件,再次 git status ,发现删除了两个同名的文件,这才反应过来,可能是大小写问题, google 大哥告诉我原来是 mac 大小写不敏感,也是醉了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/92944

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX