我想对当前(递归)目录中的所有文件进行 lint,同时仅打印出有错误的文件,并将一个变量分配给 1 以在 linting 完成后使用。
#!/bin/bash
lint_failed=0
find . -path ./vendor -prune -o -name '*.php' | parallel -j 4 sh -c 'php -l {} || echo -e "[FAIL] {}" && lint_failed=1';
if [ "$lint_failed" -eq "1" ]; then
exit 1
fi
示例:
[失败] ./app/Model/Example.php
上面的代码没有发现任何错误,但是如果我运行php -l ./app/Model/Example.php
则会返回错误。