コマンド
.php
のPHPスクリプトをまとめてシンタックスチェックするには以下のようにする。
$ find ./ -name "*.php" | xargs -n1 php -l
説明
find ./ -name "*.php"
./ のカレントディレクトリで、末尾が .phpのファイルをリストアップする
| xargs -n1 php -l
パイプ |
で xargs -n1
をつなぐ。
xargs [オプション] [コマンド [初期引数]]
コマンドを渡すとそれを実行してくれる便利なxargs
に、
php -l
というシンタックスチェックのコマンドを渡す。
-n
オプションは、引数をいくつ渡すか、つまり、php -l
というコマンドに
いくつの引数を渡すかということ。
指定しないと
$ php -l index.php index2.php
と実行しているのと同じことになるが、これだとphp -l
の特性上、はじめの index.phpしかチェックしてくれない。
-n1
として引数の最大値を1にすると、
1つ目のindex.phpをチェックする。
1つ以上、引数があった場合は、引数の分だけ複数回実行する。
結果的にfind
で見つかった複数ファイルの分だけ、シンタックスチェックを繰り返し実行してくれるという事になる。
# 参考
http://itpro.nikkeibp.co.jp/article/COLUMN/20140331/547143/
https://hydrocul.github.io/wiki/commands/xargs.html