Системная команда не работает должным образом в скрипте Perl - PullRequest
0 голосов
/ 14 июня 2019

Изменение прав доступа к конкретной директории с помощью скрипта Perl. Скрипт работает правильно, но не меняет разрешение каталога.

system("chmod 0777 $dir");

$dir: в этой переменной объявлен путь.

Не удалось установить разрешение.

1 Ответ

0 голосов
/ 15 июня 2019

Я не могу сказать вам, почему ваша команда не сработала, потому что вы не дали достаточно подробностей, но в этом случае нет необходимости использовать system, поскольку в Perl встроен chmod, и он ведет себя точно так же.

use strict;
use warnings;

my $dir = "/some/dir";
chmod 0777, $dir or die "$!";

Это также даст вам правильное сообщение об ошибке, если команда не удалась.

Вы также можете сделать список каталогов и файлов.

use strict;
use warnings;

my @dirs = ("dir1", "dir2");
my $each = chmod 0777, @dirs;
print "$each modified\n";
die $! if ($!);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...