我如何使用测试命令的任意数量的文件,通过
regexp传递参数
例如:
test -f /var/log/apache2/access.log.* && echo "exists one or more files"
但是打印错误:bash:test:太多的参数
为了避免“太多参数错误”,您需要xargs.不幸的是,测试-f不支持多个文件.以下一线应该工作:
for i in /var/log/apache2/access.log.*; do test -f "$i" && echo "exists one or more files" && break; done
BTW,/var/log/apache2/access.log.*被称为shell-globbing,不是regexp,请检查:Confusion with shell-globbing wildcards and Regex.