エラーのあるファイルのみを出力しながら、現在の (再帰的な) ディレクトリ内のすべてのファイルをリントし、変数を 1 に割り当てて、リントが終了した後に使用するようにします。
#!/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
するとエラーが返されます。