1

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

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

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

之所以有效,是因为系统通常不会同时具有 a/tmp/Tmp文件夹。这当然充其量是hacky,并且对于任意路径没有用,因为它可能指向没有任何文件夹的设备。

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

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

4

1 回答 1

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

在 Bash shell 脚本中转换字符串大小写

于 2013-10-18T17:36:27.653 回答