Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了macos – 我希望-e能够在OS X上区分大小写.是否可能?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个使用-e标志的脚本,如
unless (-e $fileName)
{
  ...
}

这在OS X上工作正常.或者说,它无法正常工作.我希望它区分大小写.该脚本也在Linux机器上运行,-e检查失败 – 正确! – 因为区分大小写.

我尝试使用open< FILEHANDLE,'$filename')执行备用路径,但似乎这也是不区分大小写的. 编辑:感谢下面回答的所有人.我知道HFS不区分大小写,但我认为我可以以某种方式“强迫”它.我最终通过执行以下操作来强制检查:

opendir my($dh),$dirName or die "Couldn't open dir '$dirName'";
my @refFiles = readdir $dh;
closedir $dh;

foreach $refFile (@refFiles)
{
    if ($refFile eq $refFileName)
    {
        $found = 1;
    }
}

着名的口头禅:“它不漂亮,但它有效.”

解决方法

缺乏区分大小写是由于您使用的文件系统(HFS),而不是Perl函数-e和open,以及基础stat(2)和open(2)系统调用.

默认情况下,HFS文件系统不区分大小写;但是,您可以选择在初始化新文件系统时创建区分大小写的HFS卷(使用“磁盘工具”,“diskutil”或“* newfs_hfs *”等):只需选择“区分大小写”版本.

我已经看到(从一个区分大小写的)启动卷运行时出现(写得不好)程序故障的报告,因此我建议您使用单独的卷来处理区分大小写的工作.例如,使用“R_402_11845@ac OS Extended(区分大小写,日志)”文件系统创建磁盘映像(即“稀疏磁盘包映像”),并在需要执行区分大小写的工作时挂载它(例如open~ / case -sensitive.sparsebundle,然后cd / Volumes / Case-sensitive / foobar从那里做你的区分大小写的工作).

大佬总结

以上是大佬教程为你收集整理的macos – 我希望-e能够在OS X上区分大小写.是否可能?全部内容,希望文章能够帮你解决macos – 我希望-e能够在OS X上区分大小写.是否可能?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。