我们要验证文件路径,例如foo/bar
,用户可以输入。是否可以在OS X或Linux上创建具有前导或尾随空格的文件,例如foo/ bar /bazz
?
答案 0 :(得分:1)
touch ' foo '
在linux上没问题。
答案 1 :(得分:1)
在大多数文件系统中,您可以在linux上使用,不允许在文件名中使用“/”和NULL字符。这就是全部:))
答案 2 :(得分:1)
使用标准Mac OS HFS +文件系统(大多数用户计算机上的默认系统)对OS X进行快速实验。 顶部创建和安装更传统的Unix文件系统是可能的。
ls > " foo "
ls > "foo "
ls > " foo"
ls > foo
24 Aug 23:32 foo
24 Aug 23:32 foo
24 Aug 23:32 foo
24 Aug 23:32 foo
ls > "foo/ "
-bash: foo/ : Not a directory
所以 - 领先和尾随空间 - 是的。这确保了与传统Mac OS文件的兼容性。 使用/ - no。
现在尝试
ls > Foo
我们看到'foo'已更新。 HFS默认情况下不区分大小写(可以启用它,但如果需要,可能最好使用完全替代的FS)
24 Aug 23:40 foo
如果您的代码期望Foo和foo都存在,这显然会导致将某些标准Unix代码转换为OS X的问题。