忽略不匹配任何内容的 glob

忽略不匹配任何内容的 glob

我想选择目录中以以下任何扩展名结尾的所有文件:txt, java, xml,csv

现在我正在这样做:

echo *.{txt,java,xml,csv}

问题是,如果目录不包含文件,则.java输出如下所示:

f0030720.txt f0033510.txt f1028864.txt f1029056.txt f1068796.txt *.java f0905776.xml f1067014.csv f1067046.csv f1067056.csv f1067074.csv

如果我使用、或类似的东西,该*.java项目会产生问题,因为它实际上不是一个文件。有什么方法可以让我忽略任何与文件实际不匹配的 glob 吗?mvtar

答案1

设置nullglob选项:

shopt -s nullglob

相关内容