Следующий простой скрипт Perl отобразит содержимое каталога с каталогом, указанным в качестве аргумента скрипту. Как в системе Linux я могу захватить отклоненные разрешения? В настоящее время, если этот скрипт запущен в каталоге, в котором у пользователя нет прав на чтение, в терминале ничего не происходит.Как получить доступ к разрешенным ошибкам оператора glob?
#!/bin/env perl
use strict;
use warnings;
sub print_dir {
foreach (glob "@_/*")
{print "$_\n"};
}
print_dir @ARGV
То, о чем вы просите, было бы атипичным поведением из 'glob'. 'stat' может сказать вам, есть ли у вас доступ к каталогу. –
Я понимаю, что glob не знает прав пользователя, но я предполагаю, что оболочка возвращает ошибку скрипту, но не печатается, это неправильно? Меня интересует, как поймать ошибку из оболочки и распечатать ее. – GL2014
Я понял, что вы имеете в виду сейчас, я просто попробовал echo/root/*, и он не возвращает ошибку в оболочке. Спасибо. – GL2014