加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl:测试文件**实际上是**可写的,而不是检查文件权限

发布时间:2020-12-16 06:23:40 所属栏目:大数据 来源:网络整理
导读:假设我有一个文件/ var / tmp / filename 在perl中,我编写了以下代码段 #!/usr/bin/env perluse strict;use warnings;if (-W /var/tmp/filename){...}exit; -W和-w函数(http://perldoc.perl.org/functions/-X.html)会检查文件是否可以实际写入,或者只检查文
假设我有一个文件/ var / tmp / filename

在perl中,我编写了以下代码段

#!/usr/bin/env perl
use strict;
use warnings;

if (-W /var/tmp/filename)
{
...
}

exit;

-W和-w函数(http://perldoc.perl.org/functions/-X.html)会检查文件是否可以实际写入,或者只检查文件权限是否允许写入?

我问的原因是我正在编写一个从服务器获取cookie的脚本.

此脚本需要能够将cookie文件写入文件系统,但如果cookie文件的文件系统路径是只读的,则文件的权限无关紧要.所以我想测试cookiefile是否实际上是可写的而不是仅仅检查它的权限.

解决方法

如果您关注的是文件系统,则可以检查它是否以只读方式挂载.如果是这样,它在/ proc / mounts中的行将有ro,所以打开文件并grep for ro和你的文件系统.

这仅适用于使用/ proc但不属于您的文件系统.

请注意,使用mount进行查询的可靠性较低.

一种确定的方法是尝试编写文件,我会使用File::Temp.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读