检测文件系统是否区分大小写的最佳方法

时间:2013-10-18 15:15:04

标签: shell filesystems

正如标题所说,我正在寻找最可靠的方法来检测文件系统是否区分大小写,只要提供给定的路径。

在过去,我使用了以下肮脏的技巧:

[ -e "/tmp" -a -e "/Tmp" ] && echo "Case insensitive" || echo "Case sensitive"

这是有效的,因为系统通常不会同时包含/tmp/Tmp文件夹。这当然是hacky,并且不使用任意路径,因为它可能指向没有任何文件夹的设备。

我的想法是做一些事情,比如获取路径的目录(应该存在)并以某种方式“翻转”它的情况(所以大写字母变为小写字母,反之亦然),但我不知道该怎么做那个;我可以将所有从低到高翻转,但如果目录的名称已经全部为大写,则不会有任何用处。

无论如何,我正在寻找关于检测文件系统是否区分大小写的最佳方法的建议,最好不要创建临时文件。

1 个答案:

答案 0 :(得分:0)

[ -e "${PWD^^}" ] && echo "Case insensitive" || echo "Case sensitive"

Converting string case in Bash shell scripting