0
ls -alR | myprogram

如果有我无权访问的文件,它会给出一条错误消息,例如“文件权限被拒绝”。但是如何在我的程序中检测到这个错误呢?我试图测试stderr. 但这似乎不起作用。

4

1 回答 1

0

对于您的直接问题,您只是在这里管道标准输出。要同时捕获 stdout 和 stderr,请执行以下操作:

ls -alR 2>&1 | myprogram

请参阅Bash 手册中的http://www.gnu.org/software/bash/manual/bashref.html#Pipelines

但是,尚不清楚您为什么要这样做。如果您想以编程方式处理目录列表,有比解析ls. 如果您编辑您的问题以描述您的总体目标,我也许可以提供更具体的建议......

于 2013-03-30T01:01:27.227 回答