編集:これは今すぐ機能します。これを CentOS ボックスにコピーしたところ、魅力的に機能します。このスクリプトを Windows でテストしていましたが、0 しか返されません (PHP LINT でエラーが発生した場合でも)。
この bash スクリプトは、PHP LINT CHECKER を実行することになっています。にどのファイルをフィードしてもphp -l
、常に 0 (成功) が返されます。ファイルの 1 つに構文エラー (セミコロンの欠落) を意図的に発生させましたが、それでも 0 が返されます。
テスト目的でphp -l
、変数 $STUFF に格納しwhat
、戻りステータスphp -l
が 0の場合に戻すようにしました
他の多くの方法を試しましたが、php -l
0 (成功) を返し続けます
#!/bin/bash
DIFF_FILES=$(git diff --cached --name-status --diff-filter=AM | awk '{print $2}')
function syntaxChecker() {
for files in $DIFF_FILES; do
STUFF=$(/c/PHP/php -l $files)
if [ $STUFF -eq 0 ]; then
echo 'what'
fi
done
}
syntaxChecker