我想使用类似的东西pdfs=$(echo *.pdf)并删除在不存在文件的情况下出现的错误消息。但文档仅提供了两个输出都被重定向组合的示例。
标准错误是文件描述符 2,如果您实际运行命令,您希望生成标准错误输出。
pdfs=$(echo *.pdf 2> /dev/null)
Run Code Online (Sandbox Code Playgroud)
但是,不要像您的示例中那样编写代码。平面字符串无法有效地存储任意文件名列表,因为您无法区分文件名分隔符和文件名中的有效字符。相反,使用不需要任何单独命令的数组(因此不需要重定向标准错误):
pdfs=( *.pdf(N) ) # You can drop the (N) if you already have NULL_GLOB enabled
Run Code Online (Sandbox Code Playgroud)