Perl 自带的 chmod 命令在 ubuntu 20.04 中无效

问题描述 投票:0回答:1

有了这个 Perl 和这台机器:

$ perl -v
perl 5, version 34, subversion 0 (v5.34.0) built for x86_64-linux-gnu-thread-multi

$ sb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:    22.04
Codename:   jammy

我运行了这段代码:

    my $filename=   't/mod_Prototype/SecondModule.t';
    my $nofile  =   chmod 0777, $filenmame;
    printf "%5sNumber of file :: %s - %s\n",'',$nofile,$filename;

我检查了它是否更改了权限:

ll t/mod_Prototype/
total 8
-rw-rw-r-- 1 lutz lutz 674 Mar 19 09:00 SecondModule.pm.t
-rw-rw-r-- 1 lutz lutz 674 Mar 19 10:05 SecondModule.t

这是我的问题:

  • 有谁知道Ubuntu是否支持这个命令?
  • 这个 perl 命令可能适用于哪个操作系统版本?
  • 或者这个函数仍然是 Perl 语言支持的部分吗?

我认为 Perl 中的系统调用可以解决这个问题, 但我正在寻找一个纯粹的 Perl 或语言解决方案。

我尝试创建一个脚本文件。

我希望使文件可执行(也称为更改文件的模式)。

我喜欢自动化脚本开发并测试 Perl 语言集,这些语言使用频率较低。 Perl 中有 215 个已知函数/关键字,但其中 49% 的关键字非常特殊,需要进行实验以确保它们仍然正常运行。

没有错误,没有产生警告,并且收到了正确的返回值(列表中的一个文件为 1),但该命令对于更改文件的模式无效。

perl chmod
1个回答
1
投票

您使用strict吗?这些变量不是同一个变量:

$filename
$filenmame
© www.soinside.com 2019 - 2024. All rights reserved.