1
ls -1 *.php | xargs php -l
不起作用,任何線索爲什麼? (它只檢查第一個文件)驗證整個目錄中的PHP語法,xargs
我想在我的整個應用程序中檢測到分析錯誤。
謝謝。
編輯:
想出了這個,就足夠滿足我的需求:
#!/bin/sh
for chave in `find . | grep .php` ; do
php -l $chave
done
ls -1 *.php | xargs php -l
不起作用,任何線索爲什麼? (它只檢查第一個文件)驗證整個目錄中的PHP語法,xargs
我想在我的整個應用程序中檢測到分析錯誤。
謝謝。
編輯:
想出了這個,就足夠滿足我的需求:
#!/bin/sh
for chave in `find . | grep .php` ; do
php -l $chave
done
find . -name '*.php' -print0 | xargs -0 -L 1 php -l
這樣做不管你的文件名包含哪些字符工作的額外獎金。不幸的是我不知道爲什麼它不無-L 1份工作:(
只打印失敗的一次:
find . -name '*.php' -print0 | xargs -0 -L 1 php -l | grep -v 'No syntax errors detected in ./'
的'-L 1'參數使得它在所有上述工作('ls'只能用於當前目錄)!'-print0'和'-0'參數也不是必需的。 – Niloct
當你100%確定你的文件名不包含時,它們不是必需的「外來」字符,shell可能會擴展 –
在'xargs'命令中加入'-P 8'來啓用並行處理(在這種情況下,最多可以同時進行8次調用)。適當的狀態代碼,但速度很快! 對於前充足:「找到。 -name'* .php'-print0 | xargs -0 -L 1 -P 8 php -l'。 – Krinkle