linux – 如何从glob运算符中捕获权限被拒绝的错误?
发布时间:2020-12-14 01:01:01 所属栏目:Linux 来源:网络整理
导读:以下简单的Perl脚本将列出目录的内容,并将该目录列为脚本的参数.如何在 Linux系统上捕获权限被拒绝的错误?目前,如果此脚本在用户没有读取权限的目录上运行,则终端中不会发生任何事情. #!/bin/env perluse strict;use warnings;sub print_dir {foreach ( glo
以下简单的Perl脚本将列出目录的内容,并将该目录列为脚本的参数.如何在
Linux系统上捕获权限被拒绝的错误?目前,如果此脚本在用户没有读取权限的目录上运行,则终端中不会发生任何事情.
#!/bin/env perl use strict; use warnings; sub print_dir { foreach ( glob "@_/*" ) {print "$_n"}; } print_dir @ARGV 解决方法
glob函数没有太多的错误控制,除了$!如果最后一个glob失败,则设置为:
glob "A/*"; # No read permission for A => "Permission denied" print "Error globbing A: $!n" if ($!); 如果glob成功找到一些东西,$!但是不会被设定.例如,即使无法列出目录的内容,glob“* / *”也不会报告错误. 标准 use File::Glob qw(bsd_glob); bsd_glob("*/*",File::Glob::GLOB_ERR); print "Error globbing: $!n" if (File::Glob::GLOB_ERROR); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |