在我的代码中:
$status = `ls -l error*`;
显示输出:ls *error No such file or directory.
我怎么能压制这个消息。我有兴趣确定是否生成了错误文件。如果是,我需要忽略文件列表(不打印消息)
答案 0 :(得分:8)
像
一样运行它$status = `ls -l error* 2> /dev/null`;
并将外部命令的输出抑制为标准错误。
如果您只需要文件名(而不是ls
-l
切换给您的所有其他信息),可以使用类似
@files = glob("error*");
if (@files == 0) {
... there were no files ...
} else {
... do something with files ...
}
如果您确实需要从ls -l ...
获得的所有其他信息,则将内置stat
函数应用于每个文件名可以为您提供相同的信息。